Java位移運算

1. << 左移
數學意義:在數字沒有溢出的前提下,對於正數和負數,左移一位相當於乘以2的1次方,左移n位相當於乘以2的n次方。
比如 5 << 2 = 5 * 2的2次方 = 5 * 4
2. >> 右移
數學意義:在數字沒有溢出的前提下,對於正數和負數,右移一位相當於除以2的1次方, 右移n位相當於除以2的n次方。
比如 11 >> 2 = 11 / 2的2次方 = 11 / 4
3. >>> (無符號右移)
int a = 8;
int b = 32;
a >>> b 等價於 a >>> (b%32)


舉例:
1.用位移運算符來實現 i * 100
<1>. 100 = 64 + 32 + 4
<2>. 所以 i * 100 可以這樣來表示: ( i << 6 ) + ( i << 5 ) + ( i << 2 ) 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章