假设我的机器中有一个单精度浮点格式变量,我想在它上分配给定运算的结果。来自维基百科:
IEEE 754标准将二进制32指定为具有:
- 符号位:1位
- 指数宽度:8位
- 有效精度:24位(23位显式存储(
这提供了6到9位有效十进制数字的精度
我不清楚最后一项索赔(e-6的精度(是如何得出的。通常,给定上面的float32
或float64
这样的数据类型,如何在基数10中找到精度限制?
基本数学是这样的:你搜索n
,这样
2^24 = 10^n
你可以通过取对数来解决这个问题:
24*log(2)=n*log(10)
以登录基地10为例,这是关于的
7.22... = n
精度约为7位(十进制(。
注意,digitus在拉丁语中的意思是手指,所以数字应该是自然十进制的