当前位置: 代码迷 >> J2EE >> java中整数五向左移一位为什么是32
  详细解决方案

java中整数五向左移一位为什么是32

热度:65   发布时间:2016-04-17 23:46:18.0
java中整数5向左移一位为什么是32
int kk = 1 << 5;
System.out.println(kk);

============

32

------解决方案--------------------
计算机中的位数是2进制的,即逢二进一。
你的代码 1 << 5 表示,将1向左移动5位,也就是 1 乘以2 的5次方,也就是32.

从另外一个角度说明,在现实中,我们的数字都是十进制的,如果将一个数字向左移动5位,
也就是10的五次方。

------解决方案--------------------
这是1左移5位,不是5左移1位
位运算就是直接对整数在内存中的二进制位进行操作
所以是2进制的,1左移5位也就是相当于1*2^5 = 32