计算机组成原理第二章 第5讲 定点加法、减法运算
计算机组成原理华科版第二章运算方法与运算器课件

4
计算机组成原理
⑵补码表示法
第二章 运算方法与运算器
• 由于补码在作二进制加、减运算时较方便,所以 在计算机中广泛采用补码表示二进制数。
• 补码运算中,可以用加法代替减法,节省元件, 降低成本。
5
计算机组成原理
第二章 运算方法与运算器
⑵补码表示法
原码求补码方法:正数不变(相同)。负数符号位不变, 数值位求反加1
第二种浮点表示的格式为
1,10001001,01111111110000000000000
17
计算机组成原理
⑶ 浮点数的表示举例
第二章 运算方法与运算器
某机用32b表示一个数,阶码部分占8b(含一位符号 位2格5式6).。5,,尾x数2=1部27分/2占56,2 4试b(写含出一x1和位x符2的号两位种)浮。点数设表x1示=-
最小负数 最大负数
最小正数
最大正数
1.0000000 1.1111111
0.0000001
0.1111111
-1
-2-7
2-7
1-2-7
11
计算机组成原理
第二章 运算方法与运算器
定点整数的表示范围:
①设字长为8b,用原码表示时,其表示范围如下:
最小负数 最大负数 最小正数 最大正数
11111111 10000001 00000001 01111111
计算机组成原理
1.真值与机器数
第二章 运算方法与运算器
采用正、负符号加上二进制的绝对值,则这种 数值称为真值。
将正负号分别用一位数码0和1来代替,一般将 这种符号位放在数的最高位。这种在机器中使 用的连同数符一起数码化的数,称为机器数。
1
计算机组成原理
定点加、减法运算

计算机组成原理 定点加、减法运算
符号位: 00 结果>0 11 结果<0 01 溢出 10 溢出
符号位异号溢出(用异或电路判断
计算机组成原理 定点加、减法运算
练习: X=-0.1101 Y=-0.1011 求[X+Y]补 和[X-Y]补
计算机组成原理 定点加、减法运算
[X]补=11.0011 [Y]补=11.0101 [X+Y]补=10.1000 [X-Y]补= 11.1110
计算机组成原理
计算机组成原理 定点加、减法运算
1、二进制的补码加、减法运算 1.1、公式:
[X]补+[Y]补=[X+Y]补 [X]补- [Y]补=[X-Y]补
计算机组成原理 定点加、减法运算
1.2、课堂练习
X=0.11011 Y=0.00011 X=-0.11011 Y=-0.00011
[X]补=
[X+Y]补=0.11110
[X+Y]补=1.00010
[X-Y]补= 0.11000
[X-Y]补=1.01000
计算机组成原理 定点加、减法运算
2、溢出问题 2.1、溢出概念 课堂练习:
X=0.1011 Y=0.1100 [X]补= [Y]补= [X+Y]补= [X-Y]补=
X=-0.1101 Y=-0.1011 [X]补= [Y]补= [X+Y]补= [X-Y]补=
(溢出)
计算机组成原理
计算机组成原理 定点加、减法运算
X=0.1011 Y=0.1100 [X]补=0.1011 [Y]补=0.1100 [X+Y]补=1.0111 × [X-Y]补= 1.0111
X=-0.1101 Y=-0.1011 [X]补=1.0011 [Y]补=1.0101 110
计算机组成原理(白中英)运算方法和运算器(精品)

2020年10月15日星期四
8
2.1.2 数的机器码表示
重点: 1、原码、补码、移码的表示形式 2、补码的定义 3、原码、补码、移码的表示范围
2020年10月15日星期四
9
1、原码表示法——定义 xnxn-1xn-2……x1x0
第2章 运算方法和运算器
目录
2.0 数据的类型
2.1 数据与文字的表示方法 (掌握)
2.2 定点加法、减法运算
(掌握)
2.3 定点乘法运算
(理解)
2.4 定点除法运算
(理解)
2.5 定点运算器的组成
(了解)
2.6 浮点运算方法和浮点运算器(掌握)
2020年10月15日星期四
2
学习要求
掌握定点和浮点数的表示方法,表示范围; 掌握定点数的补码加减法、常用的乘除法运算方法; 掌握浮点数的加减运算方法; 掌握数据校验的方法; 理解溢出判断方法; 清楚运算器部件的组成结构及设计方法。
定点整数: [x]补= 举例: x为n+1位
x 2n+1+x = 2n+1-|x|
2n> x ≥0 (mod 2n+1) 0≥x ≥ -2n
[+0.110 ] 补 = 0.110 [-0.110] 补 = 10 + (-0.110) = 1.010
实际机器中保存时 并不保存小数点
[+110]补 = 0110
若运算结果超出了计算机所能表示的数值范围, 则只保留它的小于模的低n位的数值,超过n位的 高位部分就自动舍弃了。
2020年10月15日星期四
14
2、补码表示法——定义 xnxn-1xn-2……x1x0
计算机组成原理第四版第二章

+ [y]补 0. 0 1 0 1 [x+y]补 0. 1 1 1 0
所以x+y=+0.1110
Back
第二章 运算方法和运算器
B 补码减法
➢ 公式:
[x-y]补=[x]补-[y]补=[x]补+[-y]补
➢ 举例
已知 x=+0.1101 , y=+0.0110,求x-y。 解: [x]补=0.1101 [y]补=0.0110 ,[-y]补=1.1010 [x]补 0. 1 1 0 1 + [-y]补 1. 1 0 1 0 [x-y]补 1 0. 0 1 1 1
最大正数,称为“上溢” 或“正溢出”
两个负数相加,结果 小于机器所能表示的最
小负数,称为“下溢” 或“负溢出”
判断方法
举例说明
Back
第二章 运算方法和运算器
溢出检测方法常用以下两种方法:
1.采用双符号位(变形补码)判断方法:
变形补码: “00”表示正数、“11”表负数,两符号位同时参加运算, 运算结果符号出现01或10表明溢出。
发生溢出;而在浮点运算时,运算结果超出尾数的表示范围 却并不一定溢出,只有当阶码也超出所能表示的范围时,才 发生溢出。
Back
3.十进制数串的表示方法
➢ 目前,大多数通用性较强的计算机都能直接 处理十进制形式表示的数据。十进制数串 在计算机内主要有两种表示形式:
➢ 1.字符串形式 ➢ 2.压缩的十进制数串形式
➢ 计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设 定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运 算,运算结果,根据比例因子,还原成实际数值。若比例因子选择不当, 往往会使运算结果产生溢出或降低数据的有效精度。
最新计算机组成原理课件第二章

1、原码表示法
定点整数x0. x1x2…xn
例:x=+11001110 , y=-11001110 [x]原=011001110 , [y]原=111001110
信息工程学院软件工程系 2021/1/22
1、原码表示法
原码特点: 表示简单,易于同真值之间进行转换,实现乘除运
算规则简单。 进行加减运算十分麻烦。
52位,指数偏移值是1023。因此规格化的64位浮点 数x的真值为:
x=(-1)S×(1.M)×2E-1023
e=E-1023
一个规格化的32位浮点数x的真值表示为
x=(-1)S×(1.M)×2E-127
e=E-127
信息工程学院软件工程系 2021/1/22
2.1.1数据格式
真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结 合符号位S为0或1,有正零和负零之分。
计算机组成原理课件第二章
第二章 运算方法和运算器
2.1数据与文字的表示方法 2.2定点加法、减法运算 2.3定点乘法运算 2.4定点除法运算 2.5定点运算器的组成 2.6浮点运算方法和浮点运算器
信息工程学院软件工程系 2021/1/22
2.1.1数据格式
4、定点表示法的特点 定点数表示数的范围受字长限制,表示数的范围有
真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合 符号位S为0或1,也有+∞和-∞之分。
这样在32位浮点数表示中,要除去E用全0和全1(25510)表 示零和无穷大的特殊情况,指数的偏移值不选128 (10000000),而选127(01111111)。对于规格化浮点数, E的范围变为1到254,真正的指数值e则为-126到+127。因此 32位浮点数表示的绝对值的范围是10-38~1038(以10的幂表
计算机组成原理教案(第二章)

最小负数值=-(215-1)10=(-32767)10
1
111 111 111 111 111
例6]假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格 化浮点数x,真值表示为: x=(-1)s×(1.M)×2E-128 问:它所表示的规格化的最大正数、最小正数、最大负数、最小负 数是多少? 1)最大正数 0 11 111 111 111 111 111 111 111 111 111 11
2.1.1 数据格式
计算机中常用的数据表示格式有两种
一是定点格式,数值范围有限,要求但的处理硬件比较简单。
二是浮点格式,数值范围很大,但要求硬件比较复杂。
1.定点数的表示方法
定点表示:约定机器中所有数据的小数点位置是固定不变的
(x0:符号位,0代表正号,1代表负号):
纯小数和纯整数
目前计算机中多采用定点纯整数表示,因此将定点数表示的运算 简称为整数运算。
00000001 0000000011
(2).压缩的十进制数串形式
每个数位占用半个字节(即4个二进制位),其值可用二-十编码 (BCD码)或数字符的ASCII码的低4位表示。 符号位也占半个字节并放在最低数字位之后,其值选用四位编 码中的六种冗余状态中的有关值,
1 2 3 C
(+123) 0 1 2 D
2.浮点数的表示方法
浮点表示法:把一个数的有效数字和数的范围在计算机的一个 存储单元中分别予以表示,这种把数的范围和精度分别表示的 方法,数的小数点位置随比例因子的不同而在一定范围内自 由浮动。 9 × 10-28=0.9 × 10-27
N=Re.M M :尾数,是一个纯小数。
e :比例因子的指数,称为浮点数的指数,是一个整数。 R :比例因子的基数,对于二进计数值的机器是一个常数 ,一般规定R 为2,8或16。
计算机组成原理之运算方法和运算器介绍.

②纯整数a.定点整数表示:N s N x N2 ..・N n(原码、反码、补码)b、范围:1W | X | Will (11)BP: 1W | X | 5-1由于有些数据用定点数不易表示,所以采用了浮点表示法。
2)浮点表示滋①定义:任意一个R进制都可以通过移动小数点的位置写成X=R E x M式中:R是基数,可以取2, 8, 16, —旦定义则不能改变, 是隐含的。
M是纯小数(含数的符号),称为尾数,表示数N的全部有效数字。
E是阶码,纯整数,指出小数点在该数中的位置。
由于阶码可以取不同的数值,所以,小数点的位置是不确定的,这种数被称为浮点数。
浮点数的表示格式:X=2fi x M1、将20.1875转换成,32位浮点数存储?2、若浮点数的二进制存储格式为(41A18000)求其十进制值?将十进制数数17.296875转换成位浮点数的二进制格式来存储?数值数据—定点数的表示方法□原码表示法□补码表示法□反码表示法□移码表示法数值数据—定点数的表示法(原码)数值数据—定点数的表示法(原码)实例:X1 =:0.10110-0.101100.0000[X]沪0.10110 1.101100.00001.0000实例:X1 =:10110-101100000 [X]原二0101101101100000010000数值数据—定点数的表示法(原码)性质: ■原码为符号位加数的绝对值,■原码零有两个编码,+0和・0编码不同■原码难以用于加减运算L=J■ N+1位二进制原码所表示的范小数:MAX=l-2 11 , MIN= - (1-2 n ) 整数:MAX=2n-l ,MIN= - (2n-l )数值数据一定点数的表示法(补码)■补码是在“模”和“同余”的概念下导出的。
“模”是指一个计量系统的计量范围,即产生“溢出”的量。
■继续推导:5-2=5+10 (MOD 12) 5+ (-2) =5+10 (MOD 12) -2=10 (MOD 12)■结论:数值数据一定点数的表示法(补5+10=3 (12自动丢 失。
计算机组成原理之定点加减法思维导图脑图

定点加减法
位运算与逻辑运算非常简单
定点加、减法运算补码加法定点整数[x +y ]=补[x ]+补[y ]
补(mod 2)n +1定点小数[x +y ]=补[x ]+补[y ]补(mod 2)
补码减法定点整数[x −y ]=补[x ]−补[y ]=补[x ]+补[−y ]补(mod 2)n +1定点小数[x −y ]=补[x ]−补[y ]=补[x ]+补[−y ]补(mod 2)
等于的各位取反,末位加1
[−y ]补[y ]补定点数补码的加减法运算定点整数[x ±y ]=补[x ]+补[±y ]补(mod 2)n +1定点小数
[x ±y ]=补[x ]+补[±y ]补(mod 2)溢出概念与检验方法溢出
在定点数机器中,数的大小超出定点数能表示范围上溢数据大于机器所能表示的最大正数
下溢数据小于机器所能表示的最小负数
检验方法直接判别法
同号补码相加,结果符号位与加数相反异号补码相减,结果符号位与减数相同
硬件实现较复杂
变形补码判别法模4补码采用双符号位表示补码硬件实现简单,只需要对结果的符号进行异或
进位判别法
判别方法
最高位的进位与符号位的进位是否相同判别公式溢出标志V =C C f ⨁n −1二进制加法减法器逻辑门符号
一位半加器和全加器
全加器的逻辑结构门电路的时间延迟通常采用一个与非门或者一个或非门的时间延迟作为度量单位补充内容
与非门具有函数完备性在使用多发射极晶 体管的TTL集成电路中,与非门需要的晶体管也少于其他任何门电路多位二进制数据加法/减法器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算x-y,须得到[x-y]补
2、补码减法
最大的优点就是将减法运算转换成加法
运算。 [X-Y]补= [X]补+[-Y]补 = [X]补-[Y]补
[-Y]补=- [Y]补 (mod 2n+1)
证明过程略
例如 X=(11)10=(1011)2 Y=(5)10=(0101)2 已知字长n=5位,求x-y。 [x-y]补=[X]补+[-Y]补 =01011+11011=100110=00110=(6)10 注: 最高1位已经超过字长故应丢掉
定点加法、减法运算
2.2 定点加法、减法运算
2.2.1补码加减法 2.2.2溢出检测 2.2.3基本的加法和减法器 2.2.4十进制加法器
2.2.1补码加减法
补码加法
公式:[x+y]补=[x]补+[y]补
证明过程略
验证过程可以有
2.2.1 补码加法
[例11]
x=+1001 , y=+0101 , 求 x+y=? 解:[x]补 = 01001 , [y]补 = 00101 [x]补 01001 + [y]补 00101 ———————————————— [x+y]补 01110
[例14]
x=+1101 , y=+0110 , 求 x-y=? 解:[x]补 = 01101 [y]补 = 00110 , [-y]补 = 11010
[x]补 01101 + [-y]补 11010 ———————————————— [x-y]补 100111 ∴ x-y = +0111
以一个字节存储练习: -1+0.01 -0.1011-0.0010
由[-X]补求[X] 补,此规则 同样适用。
提问: 由[X]补求[X/2]补?
X与X/2 X:10110
向右移动一位:01011
=x/2ቤተ መጻሕፍቲ ባይዱ
由[X]补求[X/2]补?
将[X]补的符号位和数值位一起向右移动一次.
符号位移走后保持原来的值不变. 例:
[X]补= 1 0 1 0 1 0 0 0 [X/4]补和 [X/8]补同理 [X/2]补= 1 1 0 1 0 1 0 0 0 这称为 “算术移位”
2.2.1补码加减法
例
x=-0.1011,y=0.0111,求x+y
[x]补=1.0101 [y]补=0.0111 [x+y]补=[x]补+[y]补 =1.0101+0.0111=1.1100 x+y=-0.0100
2.2.1 补码加法
补码减法
公式: [x-y]补=[x]补+[-y]补 (证明略)
待计算的两个数:x,y均以补码形式出现, 现在期望得到[-y]补,怎么转换? 注意:已知[y]补求[-y]补方法: 连符号位一起各位求反,末位加1。 公式:[-y]补 = -[y]补 + 2-n 2-n涵义:最末位的1
例:[X]补=11010101 解:
[X]补= + [-X]补= 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1
[例13]
已知x1=-1110 , x2=+1101 , 求: [x1]补 , [-x1]补 , [x2]补 , [-x2]补 。
解: [x1]补 = 10010 [-x1]补 = 01101 + 00001 = 01110
[x2]补 = 01101
[-x2]补 = 10010 + 00001 = 10011
2.2.1补码加减法
特殊例子:
x=+0.11011,y=-0.11111,求x-y。 [x]补=0.11011 [y]补=1.00001 输入的两个数是补码形式 [-y]补=0.11111 [x-y]补=[x]补+[-y]补 =0.11011+0.11111 =1.11010 x-y=-0.00110 判断?溢出?
∴ x+y = +1110
2.2.1 补码加法
[例12]
x=+1001 , y=-0101 , 求 x+y=? 解:[x]补 = 01001 , [y]补 = 11011 [x]补 01001 + [y]补 11011 ———————————————— [x+y]补 100100
∴ x+y = +0100