【408计算机组成原理】—移位运算(七)

一、算数移位

【408计算机组成原理】—移位运算(七)_学习


移位:通过改变各个数码位和小数点的相对位置,从而改变各数码位的位权,可用移位运算实现乘法,除法。

二、原码的算数移位

原码的算数移位:符号位保持不变,仅对数值位进行移位

算数右移:高位补0,低位舍弃,若舍弃的位等于0,则相当于除2,若舍弃的位不等于0,则会丢失精度

【408计算机组成原理】—移位运算(七)_反码_02


原码的算数左移:低位补0,高位舍弃,若舍弃的位等于0,相当于乘2,若舍弃的位不等于0,则会出现严重误差

【408计算机组成原理】—移位运算(七)_学习_03


【408计算机组成原理】—移位运算(七)_学习_04

三、反码的算数移位

反码的算数移位,正数的反码与原码相同,因此对正数反码的移位运算也和原码相同。

  • 右移:高位补0,低位舍弃
  • 左移:低位补0,高位舍弃

反码的算数移位:负数的反码数值位与原码相反,因此负数反码的移位运算规则如下:

  • 右移:高位补1,低位舍弃
  • 左移:低位补1,高位舍弃
  • 【408计算机组成原理】—移位运算(七)_补码_05

四、补码的算数移位

正数补码的移位运算和原码保持一致

  • 右移:高位补0,低位舍弃
  • 左移:低位补0,高位舍弃

补码的算数移位:负数的补码=反码末位+1,导致反码最右边几个连续的1都因进位而变为0,直到进位碰到第一个0为止。

规律:负数补码中,最右边的1同原码,最右边的1的左边同反码

负数补码的算数移位规则如下:

  • 右移(同反码):高位补1,低位舍弃
  • 左移:(同原码):低位补0,高位舍弃
  • 【408计算机组成原理】—移位运算(七)_反码_06

📢📢算数移位总结:

【408计算机组成原理】—移位运算(七)_移位运算_07

五、逻辑移位

逻辑右移:高位补0,低位舍弃
逻辑左移:低位补0,高位舍弃

【408计算机组成原理】—移位运算(七)_学习_08

逻辑移位的应用举例

【408计算机组成原理】—移位运算(七)_补码_09

【408计算机组成原理】—移位运算(七)_补码_10


【408计算机组成原理】—移位运算(七)_移位运算_11

六、循环移位

【408计算机组成原理】—移位运算(七)_补码_12


【408计算机组成原理】—移位运算(七)_反码_13

✳️ 本章小结:

【408计算机组成原理】—移位运算(七)_移位运算_14