相关疑难解决方法(0)

无符号右移的行为应用于字节变量

考虑以下Java代码片段

byte b=(byte) 0xf1;
byte c=(byte)(b>>4);
byte d=(byte) (b>>>4);
Run Code Online (Sandbox Code Playgroud)

输出:

c=0xff
d=0xff
Run Code Online (Sandbox Code Playgroud)

预期产量:

c=0x0f
Run Code Online (Sandbox Code Playgroud)

怎么样?为b二进制1111 0001 无符号右移之后0000 1111,因此0x0f,但为什么是0xff 怎么了?

java bit-shift

23
推荐指数
2
解决办法
9706
查看次数

标签 统计

bit-shift ×1

java ×1