Could anyone explain the output of the below program? Appreciate any help in this regard.
Below is my program and its output.
System.out.println("8<<-1 is="+(8<<-1));
System.out.println("8<<-1 is="+(String.format("%32s", Integer.toBinaryString(8<<-1)).replace(' ', '0')));
System.out.println("8<<-2 is="+(8<<-2));
System.out.println("8<<-2 is="+(String.format("%32s", Integer.toBinaryString(8<<-2)).replace(' ', '0')));
System.out.println("8<<-4 is="+(8<<-4));
System.out.println("8<<-4 is="+(String.format("%32s", Integer.toBinaryString(8<<-4)).replace(' ', '0')));
output
8<<-1 is=0
8<<-1 is=00000000000000000000000000000000
8<<-2 is=0
8<<-2 is=00000000000000000000000000000000
8<<-4 is=-2147483648
8<<-4 is=10000000000000000000000000000000