【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,高位舍弃

逻辑移位的应用举例

六、循环移位

✳️ 本章小结:


相关文章
|
存储 缓存 并行计算
CPU组成元素:运算器+控制器(一)
CPU组成元素:运算器+控制器
4933 0
|
算法
【计算机组成原理】(四)原码补码的加减乘除
各种码的作用: 模运算的性质:
855 0
|
Java
【Java基础】map的遍历方式和map.forEach的使用
【Java基础】map的遍历方式和map.forEach的使用
314 0
|
存储
算数移位,逻辑移位以及循环移位
算数移位,逻辑移位以及循环移位
707 0
|
4月前
|
Java 编译器 数据库
Zig 完成编译器自举,内存占用降 70%
Zig 完成编译器自举,内存占用降 70%。通过数据导向设计、编译期计算和零开销 C 互操作,为后端高性能场景提供 C/C++ 的现代化替代方案。适合微服务网关、数据库驱动等延迟敏感场景,支持渐进式迁移。
|
8月前
|
数据可视化 调度 图形学
《质光相济:Three.js中3D视觉的底层交互逻辑》
本文深入探讨了Three.js构建3D场景时,光照与材质的深层交互逻辑。解析了平行光、点光源、聚光灯等不同光源的物理隐喻及其对场景氛围的影响,揭示了材质通过反射、吸收、透射等方式响应光线的本质。阐述了光照与材质参数组合产生的视觉化学反应,以及这种互动在塑造3D场景真实感与叙事性中的关键作用。强调开发者需从现实观察中提炼光影规律,突破参数调优表层认知,以构建兼具技术精度与美学深度的虚拟空间。
234 0
|
9月前
|
XML Java API
说一说 @Autowired 注解实现原理
我是小假 期待与你的下一次相遇 ~
314 2
ly~
|
分布式计算 Java 大数据
什么是“Java”
Java 是一种广泛应用的高级编程语言,以其简单性、面向对象、分布式、健壮性、安全性、平台独立性与可移植性、多线程、动态性著称。Java 主要应用于企业级信息系统(如 CRM 和 ERP)、安卓应用、大数据处理(如 Hadoop 和 Spark)及 Web 开发等领域。其运行机制包括两个阶段:首先是将源代码编译为字节码,然后字节码在 Java 虚拟机(JVM)上运行,通过解释执行或即时编译提高运行效率,实现跨平台特性。
ly~
1783 9
|
算法
计算机网络:CSMA/CA协议
计算机网络:CSMA/CA协议
2285 9
|
传感器
ENVI: 如何进行图像的自动配准?
ENVI: 如何进行图像的自动配准?
1236 0