Как мне закончить преобразование с плавающей запятой одинарной точности в десятичную?

Я преобразую C22E8300 из плавающей запятой IEEE 754 с одинарной точностью в десятичную.

Сначала я преобразовал в двоичный код: 1100 0010 0010 1110 1000 0011...

Рассчитал показатель степени как 5. Мантисса составляет 0,24762

Как мне завершить конвертацию сейчас?

1 ответ

Пусть s будет первым битом, e будет следующими восемью битами (интерпретируется как двоичная цифра), а f будет оставшимися 23 битами (интерпретировано как двоичная цифра).

Если e равно нулю, представленное значение равно (−1)sf/ 223 • 2−126.

Если e равно 255 и f равно нулю, представленное значение равно +∞ или -∞, в зависимости от того, равно ли s 0 или 1 соответственно.

Если e равно 255, а f не равно нулю, объект является NaN.

В противном случае представленное значение составляет (−1)с • (1+f/ 223) • 2e−127.

Другие вопросы по тегам