Java的左移和右移運算子

2021-08-16 01:49:00 字數 513 閱讀 2219

<<      :     左移運算子,num << 1   相當於num乘以2

>>      :     右移運算子,num >> 1  相當於num除以2

比如num是40 (10進製)  對應的二進位制為: 101000 = 2的5次方x1+2的4次方x4+2的3次方x1+2的2次方x0+2的1次方x0+2的0次方x0 (二進位制轉換為十進位制方法原始方法)

<<     左移一位(左移一位是相對於二進位制來說的,如果是十進位制數轉為二進位制後左一位後在轉為十進位制數)

過後對應的二進位制:1010000 = 2的6次方x1+2的5次方x4+2的4次方x1+2的3次方x0+2的2次方x0+2的1次方x0+2的0次方x0

= (2的5次方x1+2的4次方x4+2的3次方x1+2的2次方x0+2的1次方x0+2的0次方x0)x2=40x2

同樣,如果左移兩位就是2的平方,3位2的3次方···,這樣推算結果就是左移幾位就是原來的十進位制數乘以2的多少次方,比如40左移3位

結果就是40x2的3次方  =  320  

左移運算子和右移運算子

左移操作 規則 右邊空出的位用0填補 高位左移溢位則捨棄該高位。例如 10 的二進位制為 0000 1010 那麼10左移3為就是 0101 0000,結果就是80.10 3 80 右移操作 規則 左邊空出的位用0或者1填補。正數用0填補,負數用1填補。注 不同的環境填補方式可能不同 低位右移溢位則...

左移右移運算子(2)

先看如下一段左移右移的 及其結果 include stdio.h char leftshift char i,int n int main 結果 127 1 2 127 2 4 127 3 8 127 4 16 127 5 32 127 6 64 127 7 128 127 8 0 1 1 2 1 ...

C C 左移右移運算子 的總結

左移 左移就是把乙個數的所有位都向左移動若干位,在c中用 運算子.例如 int i 1 i i 2 把i裡的值左移2位 也就是說,1的2進製是000.0001 這裡1前面0的個數和int的位數有關,32位機器,gcc裡有31個0 左移2位之後變成000.0100,也就是10進製的4,所以說左移1位相...