Jioho
0.1+0.2 != 0.3
这谁顶得住啊
# 浮点数的运算
基础数据类型中,代表数字的只有一个 Number
(虽然后面推出了 BigNumber
,那也放到后面说)。它的实现遵循 IEEE 754 标准,使用 64 位固定长度来表示,也就是标准的 double 双精度浮点数(相关的还有 float 32 位单精度)。
10 进制转二进制
比如 10 转为二进制,其实就是对一个数不断的求余%
:
10/2 = 5 余 0
5/2 = 2 余 1 (这里的 5 来自上一步的结果)
2/2 = 1 余 0 (2 也同理,来自上一步的结果)
1/2 = 0 余 1 (直到最后的数字等于 0,就结束)
然后把结果的余数从下往上拼成一个字符串得:1010
所以10转二进制就是 1010
上面的官方解释看不懂也没关系,直接点来说就是计算机处理数据都是二进制的(0,1)。那么0.1
转为二进制是多少?