1<<30 hashMap 中使用位移运算的意义

时间:2018-09-29 14:06:38   收藏:0   阅读:2567
static final int MAXIMUM_CAPACITY = 1 << 30;

 

计算过程已1<<30为例,首先把1转为二进制数字 0000 0000 0000 0000 0000 0000 0000 0001

然后将上面的二进制数字向左移动30位后面补0得到 

01000000 00000000 00000000 00000000(共计32位,是int的最大长度,第一位标示的是符号)
即0x4000 0000

java语言要2的n次方咋写呀

Math.pow(2,n)。

这里就很明显了,位移运算要比Math效率高

为什么不直接写结果?

太长了吧。。。

原文:https://www.cnblogs.com/hellowzd/p/9723245.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!