我有这段代码:
int i = 255;
byte b = (byte) i;
int c;
System.out.println(Integer.toBinaryString( i));
System.out.println("b = " + b); // b = -1
c=b>>>1;
System.out.println(Integer.toBinaryString( c));
System.out.println(c);
但是我不明白它是如何工作的。我认为将无符号位移设置为 255(11111111)
应该会得到 127(0111111)
,但实际上并没有。我的假设是错误的吗?
byte
可以取的最大值是多少? - Rohit Jain