左移右移運算子的介紹和相關測試

2021-10-02 08:22:44 字數 383 閱讀 1156

左移運算是將乙個二進位制位的運算元按指定移動的位數向左移位,移出位被丟棄,右邊的空位一律補0。

右移運算是將乙個二進位制位的運算元按指定移動的位數向右移動,移出位被丟棄,左邊移出的空位或者一律補0,或者補符號位,這由不同的機器而定。

在使用補碼作為機器數的機器中,正數的符號位為0,負數的符號位為1。(msdn原文明確說明,右移對於無符號型別強制補0,對於有符號型別續補符號位)

測試**

#include using namespace std;

int main()

執行結果

左移運算子和右移運算子

左移操作 規則 右邊空出的位用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 二進位制轉換為十進位制方法原始方法 左移一位 左移一位是...

左移右移運算子(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 ...