最近在进行浮点数运算的时候经常遇见精度问题,基本原理我也知道了,就是一些小数使用二进制表示的时候是无穷多位的,一个浮点数的64位没办法全部表示,导致出现误差。这样的话,二进制的加法和减法出现误差也是同理。比如
0.7 + 0.1
0.7 - 0.43
等。
在乘法和除法运算的时候也会出现这个问题,但是我对二进制的乘法和除法不了解,网上的资料也看不大懂。为什么
81.6 * 10
81.6 * 100
结果也不一样。一个小数点后面 n 位的小数乘以10的 n 次方是否一定是一个能准确表达的数值呢?