大家好,今天我们来聊一聊C语言中的Float类型。
正如标题所说,你知道Float类型的有效位数有几位吗?
或者你知道为什么Float类型可以表示数字16777218但是却无法表示16777217吗?
如果你不是很确定那我们就一起来看看吧,有疑问或者想法可以在评论区讨论~
有效位数与科学计数法
理解有效位数和科学计数法是理解Float精度的关键概念。
这两个概念在二进制与十进制下是一样的,我们所要讨论的Float有效位数也是针对于十进制而言的。
有效位数是指一个数值中确切有效的数字,即所有可以精确表示的数字。
有效位数的规则:
-
有效位数从第一个非零数字开始。
0.00123 有3个有效位数,因为有效位数从第一个非零的1开始
-
数字中的所有非零数字都是有效的。
123.45 有5个有效位数,因为所有的数字都是确定的
-
小数点右边的所有零如果是有效数字的一部分,则计入有效位数。
100.0 有4个有效位数,因为小数点右边的零是有意义的
-
小数点左边的零不算有效位数。(这条很重要)
100 有1个有效位数
科学计数法的主要目的是简化书写和计算,同时使数值中的有效位数更容易理解。
它的写法如下:
N=M×10k N=M×10^k N=M×10

最低0.47元/天 解锁文章
2662

被折叠的 条评论
为什么被折叠?



