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

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

一、算数移位

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

二、原码的算数移位

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

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

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

三、反码的算数移位

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

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

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

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

四、补码的算数移位

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

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

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

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

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

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

📢📢算数移位总结:

五、逻辑移位

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

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

逻辑移位的应用举例

六、循环移位

✳️ 本章小结:


相关文章
|
算法
【计算机组成原理】(四)原码补码的加减乘除
各种码的作用: 模运算的性质:
600 0
|
存储
算数移位,逻辑移位以及循环移位
算数移位,逻辑移位以及循环移位
493 0
|
存储 数据库 索引
B-Tree和B+Tree的区别及各自的优势
B-Tree和B+Tree的区别及各自的优势
870 0
|
9月前
|
存储 机器学习/深度学习 人工智能
C 408—《数据结构》易错考点200题(含解析)
408考研——《数据结构》精选易错考点200题(含解析)。
814 27
ly~
|
分布式计算 Java 大数据
什么是“Java”
Java 是一种广泛应用的高级编程语言,以其简单性、面向对象、分布式、健壮性、安全性、平台独立性与可移植性、多线程、动态性著称。Java 主要应用于企业级信息系统(如 CRM 和 ERP)、安卓应用、大数据处理(如 Hadoop 和 Spark)及 Web 开发等领域。其运行机制包括两个阶段:首先是将源代码编译为字节码,然后字节码在 Java 虚拟机(JVM)上运行,通过解释执行或即时编译提高运行效率,实现跨平台特性。
ly~
1538 9
|
自然语言处理 数据安全/隐私保护
整合 200 多项相关研究,大模型终生学习最新综述来了
【9月更文挑战第26天】近年来,大型语言模型(LLMs)在自然语言处理、智能问答及内容生成等领域广泛应用。面对不断变化的数据、任务和用户偏好,LLMs需具备适应能力。传统静态数据集训练方式难以满足需求,因此提出了“终身学习”方法,使模型持续学习新知识并避免遗忘旧知识。最新综述文章整合200多项研究,将终身学习分为内部知识(连续预训练和微调)与外部知识(基于检索和工具)两大类,涵盖12种应用场景,探讨了模型扩展和数据选择等新兴技术。然而,终身学习也面临计算资源、知识冲突及数据安全等挑战。
362 6
|
Ubuntu Unix Linux
Linux 用户使用sudo时 显示xxx is not in the sudoers file.This incident will be reported.的解决方法
Linux 用户使用sudo时 显示xxx is not in the sudoers file.This incident will be reported.的解决方法
3841 1
|
传感器
ENVI: 如何进行图像的自动配准?
ENVI: 如何进行图像的自动配准?
921 0
|
Python
python属性错误(AttributeError)
【5月更文挑战第2天】python属性错误(AttributeError)
1174 1
|
存储 算法 程序员
计算机组成原理<五>——存储系统(二)
计算机组成原理<五>——存储系统
计算机组成原理<五>——存储系统(二)