Представление вещественных чисел
Читать подробнее про представление вещественных чисел в компьютере Вики-конспект ИТМО>>
Пример получения машинного представления вещественного числа
Получить код для числа -312,3125.
1.
Переводим модуль числа в двоичную систему
счисления.
Для этого распишем целую часть по степеням двойки:
312 = 256+32+16+8 = 28+25+24+23
Следовательно 31210 = 100000001112
Дробную часть числа будем умножать на 2 до тех пор, пока не получим 0 в дробной части:
Следовательно 0,312510
= 0,01012
Следовательно 0,312510 = 0,01012
Для этого распишем целую часть по степеням двойки:
312 = 256+32+16+8 = 28+25+24+23
Следовательно 31210 = 100000001112
Дробную часть числа будем умножать на 2 до тех пор, пока не получим 0 в дробной части:
0
|
3125
|
2
|
|
0
|
6250
|
2
|
|
1
|
2500
|
2
|
|
0
|
5000
|
2
|
|
1
|
0000
|
Следовательно 0,312510 = 0,01012
Двоичная запись модуля этого числа имеет вид 312,312510 = 100111000,01012.
2.
Нормализуем полученное двоичное число. Нормализованный
вид данного числа: 100111000,0101 = 1,001110000101 × 28.
Цифры, выделенные красным цветом будут занесены в машинный код числа в раздел мантисса.
8 - порядок числа в нормализованном виде
Цифры, выделенные красным цветом будут занесены в машинный код числа в раздел мантисса.
8 - порядок числа в нормализованном виде
3. Получаем смещенный
порядок 8 + 1023 = 1031.
ВАЖНО: В том случае, когда под прядок отводится 11 бит, смещение = 211-1-1 = 1023
Во всех заданиях по умолчанию считаем, что на порядок отводится 11 бит, а смещение = 1023
ВАЖНО: В том случае, когда под прядок отводится 11 бит, смещение = 211-1-1 = 1023
Во всех заданиях по умолчанию считаем, что на порядок отводится 11 бит, а смещение = 1023
4. Записываем смещенный
порядок в двоичной системе счисления:
103110 = 100000001112
Цифры, выделенные синим цветом будут занесены в машинный код числа в раздел порядок.
103110 = 100000001112
Цифры, выделенные синим цветом будут занесены в машинный код числа в раздел порядок.
5. Записываем окончательное
представление, учитывая знак. В старший (первый) бит записываем 1, поскольку число отрицательное. (В
случае положительно числа в знак запишем 0)
1
|
10000000111
|
00111000010100000000
|
Знак
|
Порядок
|
Мантисса
|