use*_*261 4 floating-point epsilon floating-point-precision
有人说双精度浮点数的机器epsilon是2 ^ -53,而其他(更常见的)是2 ^ -52.我已经使用除了1之外的整数以及从上方和下方(在matlab中)进行估算来估计机器精度,并且已经获得两个值作为结果.为什么在实践中可以观察到这两个值?我认为应该总是在2 ^ -52左右产生一个epsilon.
关于术语"机器epsilon"存在固有的模糊性,因此为了解决这个问题,通常将其定义为1下一个更大的可表示数字之间的差异.(这个数字实际上(并非偶然)通过逐字递增二进制表示获得.)
IEEE754 64位浮点数有52个显式尾数位,因此53包含隐式前导1.所以两个连续的数字是:
1.0000 ..... 0000
1.0000 ..... 0001
\-- 52 digits --/
Run Code Online (Sandbox Code Playgroud)
所以两者之间的差异是2-52.