Java中输入数字默认是int
long a = 1 << 33
System.out.println("1 << " + 33 + " = " + a);
结果
1 << 32 = 1
这里1忘了改成1L,其实是对int进行左移32位
long a = 1L << 33
System.out.println("1L << " + 33 + " = " + a);
1L << 32 = 4294967296
Java中输入数字默认是int
long a = 1 << 33
System.out.println("1 << " + 33 + " = " + a);
结果
1 << 32 = 1
这里1忘了改成1L,其实是对int进行左移32位
long a = 1L << 33
System.out.println("1L << " + 33 + " = " + a);
1L << 32 = 4294967296