免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 回復 發帖

邏輯與算術的 左移與右移

邏輯左移時,最高位丟失,最低位補0
邏輯右移時,最高位補0,最低位丟失;
算術左移時,依次左移一位,尾部補0,最高的符號位保持不變。
算術右移時,依次右移一位,尾部丟失,符號位右移後,原位置上覆制一個符號位;
迴圈左移時,將最高位重新放置最低位
迴圈右移時,將最低位重新放置最高位
使用迴圈操作的一個目的就是把每一位連續放到最左邊,以判定資料的符號。如果要把一個數字的高位部分和低位部分互換,採用一位操作就很方便,速度很快。
例如:
1010100010101  邏輯左移一位結果為 0101000101010
    邏輯右移一位結果為0101010001010
    算術左移一位結果為 1101000101010
算術右移一位結果為1101010001010
迴圈左移一位結果為 0101000101011
迴圈右移一位結果為 1101010001010
返回列表