我正在尝试弄清楚为什么如果我将负整数-1进行移位操作,结果总是得到-1,例如:
echo -1 >> 64; // -1
echo -1 >> 5; // -1
echo -1 >> 43; // -1
echo -1 >> 1; // -1
无论右移的第二个操作数是什么,-1仍然保持为-1... 我理解右移的实际操作如下所示:
x >> y = x / 2^y
但是,在x为-1的情况下,如果这样操作:
-1 >> 3 = -1 / 2^3
这个值不应该是-1/8=-0.125吗?
感谢关注。