1. 程式人生 > >邏輯左移、邏輯右移、算術左移、算術右移、迴圈左移、迴圈右移

邏輯左移、邏輯右移、算術左移、算術右移、迴圈左移、迴圈右移

邏輯左移時,最高位丟失,最低位補0

邏輯右移時,最高位補0,最低位丟失;

算術左移時,依次左移一位,尾部補0,最高的符號位保持不變。

算術右移時,依次右移一位,尾部丟失,符號位右移後,原位置上覆制一個符號位;

迴圈左移時,將最高位重新放置最低位

迴圈右移時,將最低位重新放置最高位

使用迴圈操作的一個目的就是把每一位連續放到最左邊,以判定資料的符號。如果要把一個數字的高位部分和低位部分互換,採用一位操作就很方便,速度很快。

例如:

1010100010101  邏輯左移一位結果為 0101000101010

    邏輯右移一位結果為0101010001010

    算術左移一位結果為 1101000101010

算術右移一位結果為1101010001010

迴圈左移一位結果為 0101000101011

迴圈右移一位結果為 1101010001010

算術