小数点的处理:
任意一个二进制数S都可以表示为

研究小数点就要研究阶码E的取值:

  • 若E=0,则表示纯小数——代表定点小数;
    例0.1111表示+0.1111,1.1111表示-0.1111。
  • 若E=n,则表示纯正数——代表定点正数;
    例01111表示+1111,11111表示-1111。
  • E=m,且0<m<n,小数点在中间n个数内浮动——代表浮点数。

定点数的运算:

1、运算中,采用补码来表示定点数。

补码表示定点整数时,和原码、反码相比的优点
符号位可以跟数值位一起参加运算
可以用加法方便的实现减法运算
0的表示是唯一的
可以多表示一个最小负数

2、定点数的移位运算
当某二进制数相当于小数点做n位左移或者右移,相当于该数乘以或者除以2^n
由于机器数的字长都是固定的,当机器数左移或者右移时,都会造成n位低位或者n位高位出现空缺

逻辑移位(无符号数)

逻辑移位的规则
左移 高位移丢,低位补0
右移 低位移丢,高位添0

算术移位

  1. 当机器数为正

例:设机器字长为8,A=+26
A=+26=+11010
[A]原=[A]补=[A]反=0,0011010

移位操作 机器数 真值
移位前 0,0011010 +26
左移一位 0,0110100 +52
左移两位 0,1101000 +104
右移一位 0,0001101 +13
右移两位 0,0000110 +6

当机器数为正,三码相等,左移右移都补0 。

  • 当机器数为负

例:设机器字长为8,A=-26
[A]原=1,0011010
[A]补=1,1100110
[A]反=1,1100101

移码操作 机器数 真值
移位前 1,0011010 -26
左移一位 1,0110100 -52
右移一位 1,0001101 -13

原码——左移右移补0。

移码操作 机器数 真值
移位前 1,1100110 -26
左移一位 1,1001100 -52
右移一位 1,1110011 -13

补码——左移补0,右移添1。

移码操作 机器数 真值
移位前 1,1100101 -26
左移一位 1,1001011 -52
右移一位 1,1110010 -13

反码——左移右移都添1。

定点数的加/减运算

1、原码

  • 加法规则:先判断符号位,若相同,绝对值相加,结果符号位不变;若不同,则做减法,绝对值大的数减去绝对值小的数,结果与绝对值大的数相同。(同号求和,异号求差)
  • 减法规则:两个原码表示的数相减,首先将减数的符号取反,然后将被减数与符号取反后的减数按原码加法进行运算。(同号求差,异号求和)

例:[x]原=0.1101,[y]原=1.1001,求[x+y]原、[x-y]原?
[x+y]原:
符号位不同,做减法:
[-y]原=0.0111

最高数值位产生进位,所在数值位 .0100,再加上第一操作数的符号0

[x-y]原:
减数的符号取反,

因为数值最高位产生进位,结果正上溢。

2、补码

  • 补码加法
    两个数的补码相加,符号位参加运算,且两数和的补码等于两数的补码之和。

例:x=+0.1011,y=-0.1001,求[x+y]补?
[x]补=0.1011 [y]补=1.0111
则:[x+y]补=0.1011+1.0111=0.0010(符号位进位舍去)
即:[x+y]补=0.0010,真值为:+0.0010。

  • 补码减法
    由于运算器仅有加法器,则:

例:已知[x]补=0.0010,[y]补=1.1010,求[x-y]补?
[y]补=1.1010,则[-y]补=0.0110
则[x-y]补=0.0010+0.0110=0.1000。

3、特殊的情况——溢出(补码)

码制 范围
原码 -127~127
补码 -128~127
反码 -127~127
  • 溢出产生的原因:当两(小)数相加大于(1或)上界127,称为上溢或者正溢出,两(小)数相加小于(-1或)下界-128,称为下溢或负溢出。
  • 发生溢出,数值位扩充,数值位“跑“到符号位,然后取代符号位。导致”两正数相加等于负数,两负数相加等于正数“。
  • 计算机判断溢出的方法
    ①单符号——两符号相同的运算,运算结果符号相反的为溢出。
发生溢出的情况
加法:符号相同的两数相加
减法:符号不同的两数相减

②双符号法(变形补码法)——检测正负溢出
特点:

  • 两位符号位要联同数值部分一起参加运算。
  • 高位符号位产生的进位直接丢弃。

原则:

  • 当两位符号位不同时,表示溢出。
  • 高位符号位永远代表真正的符号位。

正溢出
例:已知[x]补=00.1011,[y]补=00.0111,求[x+y]补=?

负溢出:
例:已知[x]补=11.0101,[y]补=11.1001,求[x+y]补=?

③当两个单符号:
当两个单符号位补码进行加减运算时,若最高数值号位向符号位的进位值C与符号位产生的进位输出值S相同,则没有溢出发生;如果两个进位值不同,则发生溢出。
判断公式:C⊕S

例:已知[x]补=1.0101,[y]补=1.1001,求[x+y]补=?

例:已知[x]补=1.1000,[y]补=1.1000,求[x+y]补=?

《计算机组成原理》——唐朔飞

此次分享就到这里,欢迎大家指导指正~ 我是爱吃肉的小白yyyloki,如果你觉得不错的话点个赞

原码/补码的加减运算and溢出判断相关推荐

  1. 考前自学系列·计算机组成原理·补码定点加减运算和溢出判断,浮点数的加减运算,原码的乘法

    补码定点加减运算和溢出判断 浮点数的加减运算 原码乘法

  2. 补码的加减运算和溢出判断

    补码的加减运算 定义:两个操作数用补码表示,连同符号位一起表示,结果也用补码表示 补码的加减运算公式:(X+Y)补 = X补 + Y补                 (X-Y)补 = X补 + (- ...

  3. 计组之数据运算:5、加减运算与溢出判断

    5.加减运算与溢出判断 思维导图 原码的加减运算 补码的加减运算 溢出判断 1.采用一位符号位直接判断 2.采用一位符号位用进位判断 3.采用双符号位判断 符号扩展 思维导图 原码的加减运算 补码的加 ...

  4. (计算机组成原理)第二章数据的表示和运算-第二节4:定点数的加减运算和溢出判断

    文章目录 一:使用原码实现加减法基本逻辑 (1)原码加法 (2)原码减法 二:使用补码实现加减法 三:溢出判断 (1)采用一位符号位依据溢出表达式判断 (2)采用一位符号位依据进位情况判断 (3)采用 ...

  5. 微型计算机原理计算两数和,微型计算机原理及汇编语言 第2章-2 补码及加减运算.ppt...

    微型计算机原理及汇编语言 第2章-2 补码及加减运算 2.4 数的定点与浮点表示法 2.4.1 定点表示 所谓定点表示法,是指小数点在数中的位置是固定的.原理上讲,小数点的位置固定在哪一位都是可以的, ...

  6. 使用全加器实现补码的加减运算

    引言: 我们都知道,在计算机中的加减运算都是由补码来实现的,那么,计算机是如何运用电路来实现补码的加减的呢?在计算机中,所有的加减运算其实都变成了加法后来参与运算的,那么仅需要一个加法器就可以实现了. ...

  7. 【计算机组成原理】补码的加减运算方法

    补码加法 [x+y]补=[x]补+[y]补 符号位也当作数值计算,最高位产生的进位丢掉(操作就是mod2n+1 ) 补码减法 [X-Y]补 =[X]补 + [-Y]补 和补码加法几乎完全一样,唯一的不 ...

  8. 计算机组成原理——基本组成 进制转化 奇偶校验 原码 反码 补码 移码 移位 原码补码乘法除法 IEEE754 加法器ALU

    笔记来源于王道考研视频 第一章 通过电信号传递信息(低电平代表0,高电平代表1) 计算机系统 计算机系统=硬件+软件 软件 系统软件 应用软件 操作系统,数据库管理系统(DBMS),标准程序库(编程时 ...

  9. 二进制补码加减运算的溢出检查

    文章目录 前言 法一(较少使用) 法二 法三(常用) 例题 前言 此文章不涉及相应的二进制补码的加减运算,仅对其溢出的问题进行讨论. 例题中有包含相应的解释,如果通过这三个方法检测都没有问题时,结果不 ...

最新文章

  1. 使复选框选中_勾选复选框单元格变色,自动计数,在Excel中是如何实现的?
  2. GEO数据挖掘(1)引出
  3. c语言getitem函数,该借用和窃取的引用的Python C-API函数
  4. 关于C/S模式开发的学习笔记
  5. python读取excel表格太大怎么办_Python:使用Openpyxl读取大型Excel工作表
  6. 中国在线度假旅游市场专题分析2020
  7. 一条SQL引发的“血案”:与SQL优化相关的4个案例
  8. Linux通过端口查找tomcat的路径
  9. spring mvc +cookie+拦截器功能 实现系统自动登陆
  10. spring简易学习笔记三(AOP)
  11. gomarket服务器位置,第一章 昂达V711双核版常见问题解答.pdf
  12. 如何在个人信用报告中添加“本人声明”?
  13. 计算机硬盘对考,台式机怎样让进行硬盘对拷(快速批量装机) 台式机让进行硬盘对拷(快速批量装机)的方法...
  14. tf15: 中文语音识别
  15. ES(elasticsearch)已启动成功但服务器IP却打不开
  16. 金融行业选用UPS不间断电源
  17. 弦振动 matlab,弦振动规律及MATLAB数据处理
  18. 第二章 视觉特性和彩色电视信号
  19. php iframe做浮窗,巧用iframe做浮层
  20. 360急速浏览器 桌面壁纸 保存路径位置

热门文章

  1. 组合数据类型(序列:列表)
  2. 36 个JS 面试题为你助力金九银十(面试必读)
  3. 海天蚝油《挑战不可能》迎来真·火眼金睛的潜艇雷达兵
  4. 亚马逊最好用的选品工具_亚马逊为何要投资2020年最糟糕的IPO
  5. 2016机器学习大盘点(第3篇)
  6. [转]scite文本编辑器的说明
  7. 模拟器什么的都过时了!这样玩吃鸡才能真正的高清无延迟
  8. 汽车辅助驾驶系统中的图像处理算法
  9. 注册小程序需要营业执照吗?
  10. MyBatis级联一对一与一对多