算数移位,逻辑移位以及循环移位

这篇具有很好参考价值的文章主要介绍了算数移位,逻辑移位以及循环移位。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.算数移位

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

2.反码的算数移位

3.补码的算数移位

二.逻辑移位

三.循环移位


一.算数移位

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

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

1(符号位), 0001010.0=+=-10D

将算数右移(右移后低位舍弃,高位补0):

1, 00101.00--->1,0000101=+=-5D,也就是-10D/2

我们再继续右移

1, 0000010.1--->1,0000010(低位被舍弃)= -2D,这不是-5D的一半

因为舍去了低位的1,这个1代表,所以若舍弃的位=0,则相当于2,若舍弃的位就会丢失精度

同理:

1,0101000=-40D

经过左移得到

1,1010000=-80D

再次左移

1,0100000=-32D,而不是-160D,这是因为7位bit位只能表示0~127的绝对值的范围,这个值已经超出了范围,这样就会出现严重误差。

右移:高位补0,低位舍弃。若舍弃的位=0,则相当于2;若舍弃的位则会丢失精度

左移:低位补0,高位舍弃。若舍弃的位=0,则相当于X2;若舍弃的位则会出现严重误差

2.反码的算数移位

正数:

正数的反码与原码相同,因此对正数反码的移位运算也和原码相同。即右移:高位补0,低位舍弃。左移:低位补0,高位舍弃。

负数:

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

右移:高位补1,低位舍弃

左移:低位补1,高位舍弃

3.补码的算数移位

正数:

正数的补码与原码相同,因此对正数补码的移位运算也和原码相同。即右移:高位补0,低位舍弃。左移:低位补0,高位舍弃。

负数:

根据补码的规律,最右边的“1”的右边的数与原码一致,左边的数与反码相同,不太熟悉可以看看:

算数移位,逻辑移位以及循环移位,计算机组成原理,计算机网络,学习日常(考研向),循环移位,算数移位,逻辑移位,计算机组成原理

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

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

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

总结:

算数移位,逻辑移位以及循环移位,计算机组成原理,计算机网络,学习日常(考研向),循环移位,算数移位,逻辑移位,计算机组成原理

举例:如果想实现-20*7的效果,那么计算机就将不左移,左移1位,左移两位的数进行相加,完成乘法操作。

算数移位,逻辑移位以及循环移位,计算机组成原理,计算机网络,学习日常(考研向),循环移位,算数移位,逻辑移位,计算机组成原理

二.逻辑移位

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

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

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

例如获取RGB值的过程:

R=102 01100110

G=139 10001011

B=139 10001011

算数移位,逻辑移位以及循环移位,计算机组成原理,计算机网络,学习日常(考研向),循环移位,算数移位,逻辑移位,计算机组成原理

三.循环移位

循环左移后移出的数会被补到最右边

算数移位,逻辑移位以及循环移位,计算机组成原理,计算机网络,学习日常(考研向),循环移位,算数移位,逻辑移位,计算机组成原理

算数移位,逻辑移位以及循环移位,计算机组成原理,计算机网络,学习日常(考研向),循环移位,算数移位,逻辑移位,计算机组成原理

算数移位,逻辑移位以及循环移位,计算机组成原理,计算机网络,学习日常(考研向),循环移位,算数移位,逻辑移位,计算机组成原理

右移同理,循环右移后,右边移出的数会被补到最左边

带进位位的循环移位

循环左移会将原本数值的最高位,移动到进位位CF,并且将原本CF的值,补到最右边

算数移位,逻辑移位以及循环移位,计算机组成原理,计算机网络,学习日常(考研向),循环移位,算数移位,逻辑移位,计算机组成原理

循环右移同理,将数值位的最低位放到CF中,CF的值放到数值位的最高位中

算数移位,逻辑移位以及循环移位,计算机组成原理,计算机网络,学习日常(考研向),循环移位,算数移位,逻辑移位,计算机组成原理

循环移位一般用在大端存储和小端存储转换中,大端存储和小端存储的含义如下:

大端是高字节存放到内存的低地址
小端是高字节存放到内存的高地址

32位int型数0x12345678举例:

算数移位,逻辑移位以及循环移位,计算机组成原理,计算机网络,学习日常(考研向),循环移位,算数移位,逻辑移位,计算机组成原理

循环移位对于16位bit(2个字节)数的大端小端转换中比较有用,直接向左移动8位bit或向右移动8bit即可。

而对于32位bit可以进行如下处理:

1.将整数表示为4个字节,即[0x12, 0x34, 0x56, 0x78]。

2.将这4个字节的位置进行互换,即将第一个字节和最后一个字节交换,将第二个字节和倒数第二个字节交换。

3.调换后的结果为[0x78, 0x56, 0x34, 0x12]。文章来源地址https://www.toymoban.com/news/detail-807863.html

到了这里,关于算数移位,逻辑移位以及循环移位的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机组成原理 --- 计算机性能指标

    一.存储器的性能指标 1.MAR是地址寄存器,MDR是数据寄存器 2.MAR的位数能够体现最多存多少个地址,而每个地址就代表一个存储单元,所以MAR的位数能表示存储器中有多少个存储单元 3.MDR是数据寄存器,它的容纳极限 = 每个存储单元的容纳极限 --- 如果MDR的容纳极限小于存储单

    2023年04月08日
    浏览(87)
  • 计算机组成原理-计算机系统概述

    目录 一,基本组成  二、各部件工作原理 2.1存储器 2.2运算器  2.3控制器  2.4输入设备 2.5输出设备 一条指令的工作原理  三、计算机系统的层次结构  三种基本语言 四、计算机性能指标         “存储程序”的概念,指将指令以二进制代码的形式事先输入计算机的主存

    2024年02月05日
    浏览(95)
  • 计算机组成原理(1)--计算机系统概论

    计算机系统由“硬件”和“软件”两大部分组成。 所谓“硬件”,是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机 设备的实物组成,如主机、外部设备等。 所谓“软件”,它看不见摸不着,由人们事先编制的具有各类特殊功能的程序组成。(

    2024年01月16日
    浏览(61)
  • 计算机组成原理(一)计算机系统概论

    计算机组成原理这门课可以说是计算机专业最重要的基础,身为计算机专业非常重要,所以需要自己好好琢磨,不要应付考试。 计算机硬件系统的主要组成为五大部分,分别为存储器、运算器、控制器、输入设备和输出设备。 简述一下计算机的工作原理,假设要用计算机来

    2024年02月08日
    浏览(74)
  • 【计算机硬件】1、计算机的硬件组成、校验码

    CPU主要是由运算器、控制器、寄存器组和内部总线等部件组成 1、程序控制 通过执行指令来控制程序的执行顺序 2、操作功能 一条指令的实现需要若干操作信号配合,控制相应的部件完成相对应的操作 3、时间控制 对各种操作进行时间上的控制,指令执行的过程中操作信号出

    2024年01月19日
    浏览(55)
  • 计算机组成原理

    作为还在学习的学生和不断进步的同事,学习计算机组成原理具有以下几个重要的好处:它可以帮助你深入理解计算机系统的工作原理,包括处理器、存储器、输入输出设备等组成部分之间的交互关系。这种深入理解可以提高你对计算机系统的整体把握能力,让你能够更好地

    2024年02月08日
    浏览(58)
  • 计算机组成原理汇总

    生活不可能像你想象得那么好,但也不会像你想象得那么糟。 我觉得人的脆弱和坚强都超乎自己的想象。 有时,我可能脆弱得一句话就泪流满面;有时,也发现自己咬着牙走了很长的路 机器字长:计算机一次整数运算所能处理的二进制位数 .exe文件就是用机器语言描述的程

    2023年04月22日
    浏览(56)
  • 计算机组成原理复习

    内容是对唐朔飞老师的计算机组成原理(第三版)的梳理,之前做了各个章节的总结,本文仅做为目录  1. 计算机系统概述 2. 系统总线 3. 主存与缓存 4. 虚拟内存与辅存 5. I/O 6. 运算 7. 指令系统 8. CPU的结构与功能 9. 控制单元的功能与设计

    2024年02月11日
    浏览(58)
  • 计算机组成原理实验

    上学期刚结束了计算机组成原理课程,在这里把上学期做过的实验都记录一下。这里一共有4个:海明码的编码和解码、ALU、字库、RAM。我们是使用的谭志虎:自己动手画CPU。 中间参考了很多大佬,我在gitee上fork一下原来的代码,再把我自己的上传到仓库中。这里贴一下我的

    2024年02月04日
    浏览(73)
  • 计算机的组成

    计算机由 硬件系统 和 软件系统 组成。 硬件系统:是构成计算机的物理装置,有形的物体实体,又称硬件。 软件系统:是只会和使用计算机,使计算机硬件系统进行工作的各种程序、数据组成的指令集合,又称软件。 硬件系统和软件系统相辅相成缺一不可,硬件是躯体,软

    2023年04月16日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包