Why does it yield two different results if in both cases we are performing 32 bits unsigned right shift?
public class Main {
public static void main(String[] args) {
int i = -1;
i = i>>>31;
i = i>>>1;
int j = -1;
j = j>>>32;
System.out.println(i);
System.out.println(j);
}
}
Output is:
0
-1