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