我在 Javascript 中注意到的一件事 -
一个 << -1
Returns 0 when a = even.
Returns -2147483648 when a = odd.
同样,当-1
更改为其他-ve
数字时,将返回不同的值。有人能解释一下幕后发生了什么位操作吗?还是行为未定义?
谢谢
编辑
也不应该零填充右移即-2 >>> 1
返回7
吗?
-2 = 1110。之后,用零填充右移,它应该给出 0111 = 7
但
a = -2; console.log(a >>> 1);
返回
2147483647