天天看點

【408計算機組成原理】—移位運算(七)

【408計算機組成原理】—移位運算(七)

一、算數移位

【408計算機組成原理】—移位運算(七)

移位:通過改變各個數位位和小數點的相對位置,進而改變各數位位的位權,可用移位運算實作乘法,除法。

二、原碼的算數移位

原碼的算數移位:符号位保持不變,僅對數值位進行移位

算數右移:高位補0,低位舍棄,若舍棄的位等于0,則相當于除2,若舍棄的位不等于0,則會丢失精度

【408計算機組成原理】—移位運算(七)

原碼的算數左移:低位補0,高位舍棄,若舍棄的位等于0,相當于乘2,若舍棄的位不等于0,則會出現嚴重誤差

【408計算機組成原理】—移位運算(七)
【408計算機組成原理】—移位運算(七)

三、反碼的算數移位

反碼的算數移位,正數的反碼與原碼相同,是以對正數反碼的移位運算也和原碼相同。

  • 右移:高位補0,低位舍棄
  • 左移:低位補0,高位舍棄

反碼的算數移位:負數的反碼數值位與原碼相反,是以負數反碼的移位運算規則如下:

  • 右移:高位補1,低位舍棄
  • 左移:低位補1,高位舍棄
  • 【408計算機組成原理】—移位運算(七)

四、補碼的算數移位

正數補碼的移位運算和原碼保持一緻

  • 右移:高位補0,低位舍棄
  • 左移:低位補0,高位舍棄

補碼的算數移位:負數的補碼=反碼末位+1,導緻反碼最右邊幾個連續的1都因進位而變為0,直到進位碰到第一個0為止。

規律:負數補碼中,最右邊的1同原碼,最右邊的1的左邊同反碼

負數補碼的算數移位規則如下:

  • 右移(同反碼):高位補1,低位舍棄
  • 左移:(同原碼):低位補0,高位舍棄
  • 【408計算機組成原理】—移位運算(七)

📢📢算數移位總結:

【408計算機組成原理】—移位運算(七)

五、邏輯移位

邏輯右移:高位補0,低位舍棄

邏輯左移:低位補0,高位舍棄

【408計算機組成原理】—移位運算(七)

邏輯移位的應用舉例

【408計算機組成原理】—移位運算(七)
【408計算機組成原理】—移位運算(七)
【408計算機組成原理】—移位運算(七)

六、循環移位

【408計算機組成原理】—移位運算(七)

✳️ 本章小結:

繼續閱讀