根据文档,可以使用parseInt(string, base)将数字的二进制表示转换为数字本身。为什么这些二进制表示产生相同的数字?
例如,
var number = parseInt("10100", 2);
// number is 20
然而,看看下一个例子:
var number = parseInt("1000110011000011101000010100000110011110010111111100011010000", 2);
// number is 1267891011121314000
var number = parseInt("1000110011000011101000010100000110011110010111111100100000000", 2);
// number is 1267891011121314000
这怎么可能?
请注意,二进制数字几乎是相同的,除了最后9位。
关键字google:ieee754,浮点精度。 – zerkms