Я пытаюсь понять операторов сдвига и не мог получить много. Когда я попытался выполнить приведенный ниже код
System.out.println(Integer.toBinaryString(2 << 11));
System.out.println(Integer.toBinaryString(2 << 22));
System.out.println(Integer.toBinaryString(2 << 33));
System.out.println(Integer.toBinaryString(2 << 44));
System.out.println(Integer.toBinaryString(2 << 55));
Я получаю ниже
1000000000000
100000000000000000000000
100
10000000000000
1000000000000000000000000
Может кто-нибудь объяснить?