Специально из ссылки Песто :
Стандартное представление IEEE с плавающей запятой одинарной точности требует 32-битного слова, которое может быть представлено в виде нумерации от 0 до 31 слева направо. Первый бит - это знаковый бит, S
, следующие восемь бит - это экспоненциальные биты, E
, а последние 23 бита - это дробь 'F
':
S EEEEEEEE FFFFFFFFFFFFFFFFFFFFFFF
0 1 8 9 31
Значение V
, представленное словом, может быть определено следующим образом:
- Если
E=255
и F
отличны от нуля, то V=NaN
(«Не число»)
- Если
E=255
и F
равно нулю, а S
равно 1
, то V=-Infinity
- Если
E=255
и F
равно нулю, а S
равно 0
, тогда V=Infinity
- Если
0<E<255
, то V=(-1)**S * 2 ** (E-127) * (1.F)
, где "1.F
" предназначен для представления двоичного числа, созданного с помощью префикса F с неявным начальным 1 и двоичным
точка.
- Если
E=0
и F
отличны от нуля, то V=(-1)**S * 2 ** (-126) * (0.F)
Эти
являются "ненормализованными" значениями.
- Если
E=0
и F
равно нулю, а S
равно 1
, то V=-0
- Если
E=0
и F
равно нулю, а S
равно 0
, тогда V=0