7

我想知道 IEEE 754 中表示的最大浮点数是否为:

(1.11111111111111111111111)_b*2^[(11111111)_b-127]

这里_b的意思是二进制表示。但是该值是3.403201383*10^38,它不同于3.402823669*10^38(1.0)_b*2^[(11111111)_b-127]例如 和给出c++ <limits>。在框架中不是 (1.11111111111111111111111)_b*2^[(11111111)_b-127]可表示的和更大的吗?

有人知道为什么吗?

谢谢你。

4

2 回答 2

9

指数 11111111 b保留用于无穷大和 NaN,因此无法表示您的数字。

单精度可以表示的最大值,大约 3.4028235×10 38,实际上是 1.11111111111111111111111 b ×2 11111110 b -127

另见http://en.wikipedia.org/wiki/Single-precision_floating-point_format

于 2012-04-19T18:46:07.620 回答
1

作为“ m ”尾数和“ e ”指数,答案是:

在此处输入图像描述

在您的情况下,如果 IEEE 754 上的位数是:

  • 16 位,符号 1,指数 6,尾数 11。代表的最大数字是 4,293,918,720。
  • 32 位,符号 1,指数 8,尾数 23。表示的最大数字是 3.402823466E38
  • 64位你有1个符号,11个指数,52个尾数。表示的最大数是 2^1024 - 2^971
于 2019-06-16T15:59:09.073 回答