在范围内或范围外的浮点数

Floating point in or out of range?

本文关键字:浮点数 范围 范围内      更新时间:2023-10-16

下面的两个例子都有8位有效数字,但是第一个例子没有给出任何警告,而第二个例子给出了警告,为什么?

float f1 = 11111111;
float f2 = 99999999;

float数据类型有7位还是8位有效数字?

查看这篇文章:IEEE754 32位浮点数有一个24位尾数(提示省略的前导1)。现在224是16'777'216。这意味着你的第一个数字11'111'111很合适,但第二个数字不合适。

不幸的是,二进制与十进制不一样,所以在讨论精度时,大多数时候我们实际上是在谈论二进制数字,浮点数有24位有效数字。(我不记得"二进制数字"的简写了。)转换为log210,大约是3.32,所以你得到"7.22十进制数字"。