计算浮动类型表示的精度限制的阶数



假设我的机器中有一个单精度浮点格式变量,我想在它上分配给定运算的结果。来自维基百科:

IEEE 754标准将二进制32指定为具有:

  • 符号位:1位
  • 指数宽度:8位
  • 有效精度:24位(23位显式存储(
    这提供了6到9位有效十进制数字的精度

我不清楚最后一项索赔(e-6的精度(是如何得出的。通常,给定上面的float32float64这样的数据类型,如何在基数10中找到精度限制?

基本数学是这样的:你搜索n,这样

2^24 = 10^n

你可以通过取对数来解决这个问题:

24*log(2)=n*log(10)

以登录基地10为例,这是关于的

7.22... = n

精度约为7位(十进制(。

注意,digitus在拉丁语中的意思是手指,所以数字应该是自然十进制的

最新更新