考虑下面的java代码片段
byte b=(byte) 0xf1; byte c=(byte)(b>>4); byte d=(byte) (b>>>4);
输出:
c=0xff d=0xff
预期输出:
c=0x0f
多么?在无符号右移位之后,作为二进制1111 0001中的b,因此是0x0f,但是为什么是0xff?
1111 0001
0x0f
0xff
https://stackoverflow.com/questions/3948220
相似问题