小编blo*_*k69的帖子

有人可以解释一下这个位操作吗?

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 吗?

java bit-shift bit

3
推荐指数
1
解决办法
78
查看次数

标签 统计

bit ×1

bit-shift ×1

java ×1