java中的<<是什么意思?比如3<<2 這種運(yùn)算
java中的<<是什么意思?
慕姐8265434
2018-07-10 15:13:49
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
<<:是邏輯左移,右邊補(bǔ)0,符號(hào)位和其他位一樣要移動(dòng)。
例如: 3 << 2,則是將數(shù)字3左移2位
計(jì)算過程:3 << 2
首先把3轉(zhuǎn)換為二進(jìn)制數(shù)字0000 0000 0000 0000 0000 0000 0000 0011,然后把該數(shù)字高位(左側(cè))的兩個(gè)零移出,其他的數(shù)字都朝左平移2位,最后在低位(右側(cè))的兩個(gè)空位補(bǔ)零。則得到的最終結(jié)果是0000 0000 0000 0000 0000 0000 0000 1100,則轉(zhuǎn)換為十進(jìn)制是12.數(shù)學(xué)意義:
在數(shù)字沒有溢出的前提下,對(duì)于正數(shù)和負(fù)數(shù),左移一位都相當(dāng)于乘以2的1次方,左移n位就相當(dāng)于乘以2的n次方。
舉報(bào)