私はこのコードを持っています:
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);
しかし、私はそれがどのように機能するのか理解できません。unsigned へのシフト255(11111111)
は私に与えるべきだと思います127(0111111)
が、そうではありません。私の仮定は間違っていますか?