как записать двоичное нормальное число в формате с одинарной точностью (в 32 разрядок)
как записать двоичное нормальное число в формате с одинарной точностью (в 32 разрядок) например 111101101,100011100001
как записать двоичное нормальное число в формате с одинарной точностью (в 32 разрядок) например 111101101,100011100001
Смотрим как выглядит НОРМАЛИЗОВАННОЕ число в двоичной форме:
1,0011011101∙exp^(+111) Это запись числа 155,625.
Описание преобразования двоичного нормализованного числа в формат IEEE 754 с одинарной точностью или 32 бита (с двойной точностью будет уже 64 бита) :
Число может быть + или - ,поэтому отводится 1 бит для обозначения знака числа:
0-положительное
1-отрицательное
Этот самый старший бит в 32-битной последовательности .
Далее пойдут биты экспоненты, для этого выделяют 1 байт (8 бит) .
Экспонента может быть, как и число, со знаком + или -. Для определения знака экспоненты, чтобы не вводить ещё один бит знака, добавляют смещение к экспоненте в половину байта +127(0111 1111). То есть, если наша экспоната = +7 (+111 в двоичной) , то смещенная экспонента = 7+127=134. А если бы, наша экспонента была -7, то смещенная экспонента=127-7 =120. Смещенную экспоненту записывают в отведенные 8 бит. При этом, когда нам будет нужно получить экспоненту двоичного числа, мы просто отнимем 127 от этого байта.
Оставшиеся 23 бита отводят для мантиссы. Но, у нормализованной двоичной мантиссы первый бит всегда равен 1, так как число лежит в диапазоне 1<=M<2. Нет смыла, записывать единицу в отведенные 23 бита, поэтому в отведенные 23 бита записывают остаток от мантиссы.
Ниже представлено десятичное число 155,625 в 32-х битном формате IEEE754:
1 бит 0 или 0(dec) знак числа
8 бит 1000 0110 или 134(dec) - смещенная экспонента
23 бита 001 1011 1010 0000 0000 0000 или 1810432(dec) - остаток мантиссы
Итог: 0100 0011 0001 1011 1010 0000 0000 0000 или 431BA000 (hex) - число 155,625 в формате IEEE 754