在上一篇中,我们学习到了计算机底层的一些机器码,以及一些行业标准,这一章,我们将接着学习机器码的一些比较与相关计算。

一、浮点数表示和定点数的比较

① 当字长相同时,浮点数表示的范围要大得多。

②浮点数表示比定点数表示的分辨率高。

③浮点数表示比定点数表示的应用范围更广。

④ 浮点数表示比定点数表示复杂、运算步骤多、硬件实现也复杂得多。

⑤ 浮点数表示和定点数表示判断溢出的方法不同。

二、补码的加减运算及溢出判断

1. 补码加法运算

补码加法的公式为:

公式说明,两个带符号的补码可以直接相加,和就是两个数和的补码,这一公式也适用于定点小数的补码加法运算。

对不同字长的数运算,要先变成相同字长的数,(以字长比较长的数为标准)

操作码为“加”时,两数直接相加。

2. 补码减法运算

根据补码加法运算的公式很容易得出补码减法运算的公式:

公式说明,求两个数差的补码,可以用被减数的补码加上和减数符号相反数的补码实现。这样,采用补码运算,就可以化减为加,计算机的运算器中只需要设计加法器,减法器就不需要了。

操作码为“减”时,将减转换为加,即将减数变补后与被减数相加。

例: 求(X – Y)补

3. 溢出判断

当运算结果超出数的表示范围,就会发生溢出

在做加法和减法运算时,有四种可能:

  • 同号相加
  • 异号相减
  • 同号相减
  • 异号相加

机器是如何判断溢出的?

  • 符号位和进位位判断
  • 双符号位判断

三、移位运算

算术移位是指有符号数的移位,主要用于乘除运算。算术左移相当于乘以2,右移相当于除以2

1. 原码移位

  • 原码移位规则:符号位不参加移位
  • 左移:数值位高位移出,末位补0(高位为1时,左移会丢失高位出错)
  • 右移:数值位低位移出,高位补0(末位为1时,右移会损失数的精度)

2. 补码移位

  • 补码移位规则:符号位参加移位
  • 左移:数值位高位移至符号位,符号位移出,末位补0 (高位为1时,符号位为0,左移改变符号位,并丢失高位出错)
  • 右移:数值位低位移出,符号位不变(末位为1时,右移会损失数的精度)

3. 逻辑移位

逻辑移位是指无符号数的移位,可用于实现数的串行和并行之间的转换等功能。逻辑移位有左移、右移、循环左移和循环右移等几种。

3.1 左移右移

  • 左移:数值位高位移出,末位补0
  • 右移:数值位低位移出,高位补0

3.2 循环左移右移

  • 循环左移:数值位高位移至末位
  • 循环右移:数值位低位移至高位

例: X = 11010101,Y = 00101010,将X 和Y循环左移两位。

X = 01010111,Y = 10101000

左移右移位运算_计算机硬件技术基础M2——计算机运算基础(二)相关推荐

  1. 大学计算机基础知识点_南京航空航天大学计算机科学与技术学院829计算机专业基础考研...

    [导语]全套资料已上线,现分享给大家.本内容全面丰富,共分为4部分内容,助力全面备考.首先通过历年考研试题进行汇编,并配有考研试题视频的讲解,能够更好地帮助广大考生朋友有针对性.有重点的掌握专业课考试 ...

  2. 计算机硬件的联通,联通4g支撑系统介绍_计算机硬件及收集_it计算机_专业资料[精彩].ppt...

    联通4g支撑系统介绍_计算机硬件及收集_it计算机_专业资料[精彩] 惊另榷油码邮丘孰赴埃链纸耽峪具刻谍毙婉及左攒叁硅萌妙吴及诞寿贱措联通4G支撑系统介绍_计算机硬件及网络_IT计算机_专业资料联通4 ...

  3. 计算机专业基础英语,计算机专业基础英语.ppt

    计算机专业基础英语 计算机专业基础英语 Basic English for Computer Professional 1.electronic adj. 电子的,电子学的2.trajectory t ...

  4. python左移右移位运算_荐Python : 位运算 —— 与、或、异或、左移、右移

    Python : 位运算 -- 与.或.异或.左移.右移 位运算 位运算是把数字用 二进制 表示之后,对每一位上 0 或者 1 的运算.位运算共有 5 种运算:与.或.异或.左移.右移. 与.或.异或 ...

  5. python左移右移位运算_Python这些位运算的妙用,绝对让你大开眼界

    位运算的性能大家想必是清楚的,效率绝对高.相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算.但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂.不过,在面试的过程中,在手 ...

  6. java实现次方的运算_【技术干货】Java 面试宝典:Java 基础部分(1)

    海牛学院的 | 第 616 期 本文预计阅读 |18 分钟 Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法, ...

  7. 大学计算机实验图灵机模型与计算机硬件,北理大学计算机实验基础 实验一_图灵机模型与计算机硬件系统虚拟拆装-实验报告...

    1.1实验一实验一 图灵机模型与计算机硬件系统虚拟拆装图灵机模型与计算机硬件系统虚拟拆装五.实验报告五.实验报告2222实验名称:学号 姓名 班级: 实验时间:年 月 日 实验报告表 1-1 图灵机模 ...

  8. 计算机能够自动完成运算或处理过程的基础是,计算机文化基础题库.doc

    序号题目答案题型章节( )决定了指令直接寻址的能力. A.位 B.字节 C.字 D.字长D单选01基础( )是CPU可以直接访问的存储器 A.软盘 B.内存 C.优盘 D.硬盘B单选01基础( )提出 ...

  9. 哈工程816计算机专业考研资料,哈尔滨工程大学计算机科学与技术学院816计算机专业基础综合(自命题①数据结构,②计算机组成原理)历年考研真题汇编.pdf...

    目 录 [数据结构] 2 2005 年哈尔滨工程大学计算机科学与技术学院 816 数据结构考研真题 2 2004 年哈尔滨工程大学计算机科学与技术学院 816 数据结构考研真题 9 2003 年哈尔滨 ...

最新文章

  1. FPGA之道(7)时钟网络资源
  2. 安装Docker的三种方式
  3. shiro使用jdbc_realm登录验证
  4. vue 保留小数点厚一位_2019黑龙江公务员考试行测资料分析:保留有效数字巧解对位数相乘...
  5. iOS Programming UIWebView 2
  6. Java经典23结构模型的设计模式(三)------附加代理模式、适配器型号、Facade模式的差异...
  7. 标准正态分布的积分怎么求?
  8. Mac IDEA 实用快捷键大全(持续更新)
  9. 迅为恩智浦iTOP-IMX6开发平台
  10. iOS8官方推荐图标和图像尺寸
  11. 简单的MCU加密方法,防破解、防抄袭、防山寨
  12. 【头发渲染】Technical Artist的不归路 —— Kajiya-Kay Shading
  13. java生成唯一的五位字符串_java唯一字符串ID生成方案详解
  14. python tips
  15. ASR系统第二讲 语音识别基础
  16. 汽车估损师跟二手车评估师的区别及鉴定方法
  17. 简单的下拉列表的二级联动、省市
  18. 更便捷的中间人攻击框架Xerosploit
  19. comsol三相变压器仿真建模教程
  20. 复杂任务处理三部曲:系统性思维、结构化思维、流程化管理

热门文章

  1. VBS编程基础教程 (第5篇)
  2. CodeSmith NetTier模板生成的代码框架用法 (转)
  3. java string 内存写了_Java String的内存机制
  4. 前端与移动开发之vue-day1(1)
  5. Unity官方宣传片Adam 播放地址
  6. 存放有数组的list排序
  7. 修复ext4日志(jbd2)bug( Ext4 文件系统有以下 Bug)
  8. 输入特定字符和只能输入数字。
  9. 【编程好习惯】通过命名规则区分变量
  10. 微软ASP.NET AJAX框架剖析