IEEE 754中表示的最大浮点数

8
我想知道在IEEE 754中表示的最大浮点数是否是: (1.11111111111111111111111)_b*2^[(11111111)_b-127] 这里_b代表二进制表示。但是该值为3.403201383 *10^38,与由例如C++ 给出的(1.0)_b*2^[(11111111)_b-127]不同。难道(1.11111111111111111111111)_b*2^[(11111111)_b-127]不能以该框架中更大的方式表示吗? 有人知道原因吗? 谢谢。

更适合于:https://cs.stackexchange.com/ - ryanwebjackson
更适合于:https://cs.stackexchange.com/ - ryanwebjackson
2个回答

12

2

将"m"表示为尾数,"e"表示为指数,答案为:

((2 - 2^(-m) * 2^(2^(e-1))))/2

如果IEEE 754中的位数是:

  • 16位,其中1位为符号位,5位为指数,10位为尾数。能够表示的最大数字是4,293,918,720。
  • 32位,其中1位为符号位,8位为指数,23位为尾数。能够表示的最大数字是3.402823466E38。
  • 64位,其中1位为符号位,11位为指数,52位为尾数。能够表示的最大数字是21024 - 2971

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接