Decimal Binary
x1 = 105 0110 1001
x2 = -38 1101 1010
1. (byte) (x>>2)
2. (byte) (x>>>26)
Run Code Online (Sandbox Code Playgroud)
我知道第一个移位会将其向右移位两次,并将丢失的位替换为 1。因此移位结果为:1111 0110
但我不知道为什么第二个班次会导致:0011 1111 或 63。
我的理解是,如果 x 为负,则 x >> 加 1,如果 x 为正,则加 0。无论符号如何,>>> 都会添加 0。因此,如果是这种情况,x2 >>> 26 的结果不是 0000 0000 吗?