Выполните представление вещественного числа 1800,1875(10) в 4-байтовом формате с плавающей точкой. Ответ представьте в 16-ричном виде
назад от

1 Ответ

дано:  
вещественное число 1800,1875 (10)

найти:  
представление числа в 4-байтовом формате с плавающей точкой и вывод в шестнадцатеричном виде

решение:  
1. Преобразуем десятичное число 1800,1875 в двоичную систему:
   - Целая часть: 1800.
     Разделяем на 2:
     1800 / 2 = 900  остаток 0  
     900 / 2 = 450   остаток 0  
     450 / 2 = 225   остаток 0  
     225 / 2 = 112   остаток 1  
     112 / 2 = 56    остаток 0  
     56 / 2 = 28     остаток 0  
     28 / 2 = 14     остаток 0  
     14 / 2 = 7      остаток 0  
     7 / 2 = 3       остаток 1  
     3 / 2 = 1       остаток 1  
     1 / 2 = 0       остаток 1

     Считываем остатки снизу вверх:
     1800 = 11100010000 (2).

   - Дробная часть: 0,1875.
     Умножаем на 2:
     0,1875 * 2 = 0,375 -> 0
     0,375 * 2 = 0,75 -> 0
     0,75 * 2 = 1,5 -> 1
     0,5 * 2 = 1,0 -> 1.

     Получаем:
     0,1875 = 0,0011(2).

   Объединяя целую и дробную части:
   1800,1875 (10) = 11100010000,0011 (2).

2. Записываем в нормализованном виде:
   - Сместим запятую:
   1,110001000000011 * 2^(11).

3. Определим компоненты формата с плавающей точкой (IEEE 754):
   - Знак (1 бит):
     Поскольку число положительное, знак = 0.

   - Порядок (8 бит):
     В формате IEEE 754 порядок хранится с добавленным смещением (bias). Для 32-битного формата смещение = 127.
     Фактический порядок = 11, поэтому смещенный порядок = 11 + 127 = 138.
     В двоичной системе 138 = 10001010.

   - Мантисса (23 бита):
     Нормализованная мантисса без ведущей единицы: 11000100000001100000000 (добавляем нули до 23 бит).

4. Соберем все части вместе:
   - Знак: 0
   - Порядок: 10001010
   - Мантисса: 11000100000001100000000

   Полное представление:
   0 10001010 11000100000001100000000.

5. Объединяем все части в 32-битное представление:
   01000101011000100000001100000000.

6. Переведем в шестнадцатеричный формат:
   - Разделим на группы по 4 бита:
     0100 0101 0110 0010 0000 0011 0000 0000.
   - Преобразуем каждую группу:
     - 0100 = 4
     - 0101 = 5
     - 0110 = 6
     - 0010 = 2
     - 0000 = 0
     - 0011 = 3
     - 0000 = 0
     - 0000 = 0

   Объединяем полученные значения:
   45620000(16).

ответ:  
45620000
назад от