计算机组成原理——移位运算

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机组成原理——移位运算相关的知识,希望对你有一定的参考价值。


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

算数移位

原码的算数移位

例如原码为 10101000 进行算数移位
在这里插入图片描述
原码的算数移位——符号位保持不变,仅对数值位进行移位。

  • 右移:高位补0,低位舍弃。若舍弃的位=0,则相当于÷2;若舍弃的位≠0,则会丢失精度
  • 左移:低位补0,高位舍弃。若舍弃的位=0,则相当于×2;若舍弃的位≠0,则会出现严重误差

反码的算数移位

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

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

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

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

补码的算数移位

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

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

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

规律——负数补码中,最右边的1及其右边同原码。最右边的1的左边同反码
负数补码的算数移位规则如下:

  • 右移(同反码):高位补1,低位舍弃。
  • 左移(同原码):低位补0,高位舍弃。

逻辑移位

在这里插入图片描述

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

可以把逻辑移位看作是对“无符号数”的算数移位

逻辑移位的应用举例

例如颜色RGB分别存储的数据为:
R = 102 01100110
G = 139 10001011
B = 139 10001011

需要将三个灰度值合成一个才能成彩色图像
在这里插入图片描述

循环移位

在这里插入图片描述

以上是关于计算机组成原理——移位运算的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成原理——移位运算

408计算机组成原理—移位运算

计算机组成原理 王道考研2021 第二章:数据的表示和运算 -- 定点数的运算(移位加减运算溢出判断符号扩展)

计算机组成原理——原码乘法运算(※)

计算机组成原理——原码乘法运算(※)

向题看齐408之计算机组成原理概念记忆总结