дано:
вещественное число 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