本文功能:
浮点数0.1 0.2 不等于 0.3的前置知识点
我们知道js存储number类型的数据采用的是IEEE 754双精度(64位),我们了解到对应存储原理,才能具体解释0.1 0.2 不等于 0.3
组成 | 描述 | 位数 | 位置 |
sign | 符号,0表示正,1表示负 | 1bit | 63 |
exponent | 指数部分 | 11bit | 52-62 |
fraction | 小数部分 | 52bit | 0-51 |
计算公式A:
看完公式我们举个栗子:
var a = 2
具体的思路: 将10进制转换为二进制, 二进制使用科学计数法表示。
根据公式即可得出结果