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


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效率高

为什么不直接写结果?

太长了吧。。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM