- •Оглавление
- •Представление чисел в памяти эвм
- •Представление беззнаковых целых чисел в памяти эвм
- •Обратный код
- •Пример 1.
- •Пример 2.
- •Пример 3.
- •Пример 4.
- •Пример 5.
- •Пример 2.
- •Пример 3.
- •Пример 4.
- •Пример 5.
- •Важное следствие (пример 2).
- •Представление вещественных типов в памяти эвм
- •Пример 1
- •Пример 2
- •Пример 2
- •Пример 3
- •Пример 4
- •Алгоритмы работы с числами, которые представлены строкой
- •Сложение положительных чисел, представленных в виде строки
- •Реализация алгоритма на Pascal
- •Умножение положительного числа, представленного в виде строки, на одноразрядный коэффициент
- •Реализация алгоритма на Pascal
- •Умножение двух положительных целых чисел, представленных в виде строки
- •Реализация алгоритма на Pascal
- •Сравнение двух целых чисел, представленных в виде строки
- •Реализация алгоритма на Pascal
- •Вычитание целых чисел, представленных в виде строки
- •Реализация алгоритма на Pascal
- •Реализация алгоритмов работы с целыми числами, представленными в виде строки на c#
Пример 2
Найти представление числа 3.25 в форме с плавающей запятой, если это 4х байтовое число и под порядок отводится 9 бит.
Решение.
Это тип Single. Т.к. он занимает 4 байта, то это 32 бита. Поэтому в общем виде ответ будет выглядеть:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Так как число положительное, то в первом бите будет 0. Поэтому следующий шаг к ответу будет
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Переведем число 3.25 в двоичную систему.
3.2510=11.012
Пронормируем это число. Получим
11.012=1.101*21.
Порядок равен 1. Т.к. под него отведено 9 бит, то смещение будет равно 011111111. Поэтому в порядок запишется (0111111112+12=100000000). Поэтому следующий шаг к ответу будет.
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Мантисса у нашего числа получилась 1.101. Откинем первую единицу, получим .101. Это число дополним нулями с конца что бы оно занимало 22 разряда (32 - 1 - 9 = 22). Поэтому ответ будет
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Для удобства запишем в 16ричной системе: 4028000016.
Если машина старшеконечная, то в памяти ЭВМ байты будут распологаться в таком порядке: 0000284016