<< : 左移運算子,num << 1 相當於num乘以2
>> : 右移運算子,num >> 1 相當於num除以2
比如num是40 (10進製) 對應的二進位制為: 101000 = 2的5次方1+2的4次方4+2的3次方1+2的2次方0+2的1次方0+2的0次方0 (二進位制轉換為十進位制方法原始方法)
<< 左移一位(左移一位是相對於二進位制來說的,如果是十進位制數轉為二進位制後左一位後在轉為十進位制數)
過後對應的二進位制:1010000 = 2的6次方1+2的5次方4+2的4次方1+2的3次方0+2的2次方0+2的1次方0+2的0次方*0
= (2的5次方1+2的4次方4+2的3次方1+2的2次方0+2的1次方0+2的0次方0)2=402
同樣,如果左移兩位就是2的平方,3位2的3次方···,這樣推算結果就是左移幾位就是原來的十進位制數乘以2的多少次方,比如40左移3位
結果就是40*2的3次方 = 320
右移就是除以2
運算子(二)按位異或運算子與左,右移位運算子
規則 相同為0,不同為1。有時兩個資料在異或後得到的結果跟兩個資料的值不同,有時會跟兩個值中某乙個值相同。所以在用的時候應該考慮清楚。比如 0010 0001 0011 這個得到的結果是不同。0000 0011 0011這個得到的結果是相同的。很多成對出現數字儲存在磁碟檔案中,注意成對的數字不一定是...
左移運算子和右移運算子
左移操作 規則 右邊空出的位用0填補 高位左移溢位則捨棄該高位。例如 10 的二進位制為 0000 1010 那麼10左移3為就是 0101 0000,結果就是80.10 3 80 右移操作 規則 左邊空出的位用0或者1填補。正數用0填補,負數用1填補。注 不同的環境填補方式可能不同 低位右移溢位則...
Java的左移和右移運算子
左移運算子,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 二進位制轉換為十進位制方法原始方法 左移一位 左移一位是...