javascript - 负数到二进制字符串

  显示原文与译文双语对照的内容
0 0

有人知道为什么java script Number.toString表示负数函数不正确?

//If you try
(-3).toString(2); //show "-11"
// but if you fake a bit shift operation it works as expected
(-3 >>> 0).toString(2); // print "11111111111111111111111111111101"

我很好奇的是它无法正常工作或者它以这种方式的原因是什么? 我搜过,但是找不到任何有用的东西

时间:原作者:4个回答

0 0
var binary = (-3 >>> 0).toString(2); // coerced to uint32
console.log(binary);
console.log(parseInt(binary, 2) >> 0); // to int32

jsfiddle

输出为

11111111111111111111111111111101
-3 
原作者:
...