JavaScript中,数字可以通过 Number#toString()
方法原生地转换成二进制表示。为了对这些二进制数据进行操作,我按以下方法将数字转换为二进制表示,再转换回数字:
示例1:
(117).toString(2) => "1110101"
Number("1110101") => 1110101
示例2:
(999999).toString(2) => "11110100001000111111"
//I don't understand this
Number("11110100001000111111") => 11110100001000112000
Example 2是如何工作的?我预期结果应该是11110100001000111111
,但我收到了11110100001000112000。
为什么Number("11110100001000111111")
返回11110100001000112000
?
Number()
不会将其解析为二进制数,它会将其解释为十进制数。您要对二进制数执行什么操作?您可能可以在不转换为二进制的情况下完成它。尝试查找JavaScript二进制运算符。 - obermillerk