第三章 运算方法和运算部件(3-1,2)

合集下载

第三章 运算方法

第三章 运算方法

第三章运算方法一名词解释(1)溢出——在运算过程中如出现数据超过这个数表示范围的现象,称溢出。

(2)运算器——运算器是一个用于信息加工的部件,又称执行部件。

它对数据进行算术运算和逻辑运算。

(3)并行加法器——全加器的位数与操作数的位数的加法器称并行加法器。

(4)进位链——进位信号的产生与传递的逻辑结构称为进位链。

(5)进位产生函数——当xi与yi都为1时,Ci=1,即有进位信号产生,所以将xiyi称为进位产生函数,以Gi表示。

(6)进位传递函数——当xi⊕yi=1、Ci-1=1时,则Ci=1。

这种情况可看作是当xi⊕yi=1时,第i-1位的进位信号Ci-1可以通过本位向高位传送。

因此把xi⊕yi称为进位传递函数,以Pi表示。

(7)桶形移位器——在选择电路的控制下可以实现左移、右移、直送操作的具有移位功能的电路。

一.选择题1.大部分计算机内的减法是用_____实现。

A.将被减数加到减数中B.从被减数中减去减数C.补码数的相加 D.补码数的相减2.原码加减法是_____。

A.操作数用原码表示,连符号位直接相加减B.操作数用原码表示,尾数直接相加减,符号位单独处理C.操作数用原码表示,根据两数符号决定实际操作,符号位单独处理D.操作数取绝对值,直接相加减,符号位单独处理3.补码加减法是指______。

A.操作数用补码表示,两尾数加减,符号位单独处理,减法用加法代替B.操作数用补码表示,符号位和尾数一起参加运算,结果的符号与加减相同C.操作数用补码表示,连符号位直接相加减,减某数用加负某数的补码代替,结果的符号在运算中形成D.操作数用补码表示,由数符决定两尾数的操作,符号位单独处理4.在原码加减交替除法中,符号位单独处理,参加操作的数是_____。

A.原码 B.绝对值C.绝对值的补码 D.补码5.两补码相加,采用1位符号位,则当_____时,表示结果溢出。

A.最高位有进位 B.最高位进位和次高位进位异或结果为0C.最高位为1 D.最高位进位和次高位进位异或结果为16.在下列有关不恢复余数法何时需恢复余数的说法中,正确的是_____。

第三章 计算机的运算方法

第三章   计算机的运算方法

1.求X+Y: (1)将X=-0.1010,Y= -0.0010转换成补码.
[X]补=1.0110 [Y]补=1.1110 1.0110
产生进 位,将进 位去掉
(2)求[X+Y]补
[X+Y]补=[X]补+[Y]补 =1.0110+1.1110 =1.0100 (3)求[X+Y]原
+1.1110
11.0100
3.1 数据的表示方法和转换 3.2 带符号数在计算机中的表示方法及运算(重点) 3.3 数据校验码(重点)
3.1 数据的表示方法和转换
一.十进制,二进制,八进制,十六进制的功能及特点.
1.十进制数是人们最习惯使用的数值,在计算机中一 般把十进制数作为输入输出的数据形式。 特点: 用十个数码表示——0、1、2、3、4、5、6、7、8、9 遵循“逢十进一”的规 则 2.二进制数使用的数码少,只有0和1, 在计算机内部存 储和运算中使用,也表示计算机元件的状态,运算简 单,工作可靠。 特点: 用两个数码表示——0、1 遵循“逢二进一”的规
要求 数1 数2 实际操作 结果符号
加法 加法 加法 加法
正 正 负 负
正 负 正 负
加 减
正 可正可负


可正可负

在计算机中正+正/负+负结果符号位很好确定, 但正+负/负+正结果符号位很难确定 ,容易出错。 计算机将原码转换成反码或补码进行计算.
3. 反码表示法
(1) 形式:正数的反码与原码相同,负数的反码为其原码 的符号位不变,其余各位按位变反,即0变为1,1变为0
写成(DCD)16,且与二进制转换方便,因此十六进制数 常用来在程序中表示二进制数或地址。

第3章运算方法与运算器

第3章运算方法与运算器

教学内容安排•第一章绪论•第二章数码系统•第三章运算方法和运算器•第四章存储系统•第五章指令系统•第六章中央处理器•第七章输入输出设备•第八章输入输出系统第三章运算方法和运算器• 3.1组成计算机硬件电路的基本逻辑部件• 3.2机器数的加减运算及其实现• 3.3定点乘法及其实现• 3.4定点除法及其实现(了解)• 3.5浮点数的算术运算(了解)• 3.6运算器的组教学重点和难点•基本逻辑运算和逻辑电路•机器数的加减运算•定点原码一位乘第三章运算方法和运算器 3.1组成计算机硬件电路的基本逻辑部件逻辑电路的基本概念•表示电路中输入信号与输出信号之间的关系的运算,为逻辑运算•赋以逻辑属性值“0”或“1”的变量,为逻辑变量。

•描述逻辑变量关系的函数(F=f(A,B)),为逻辑函数•实现逻辑函数功能的电路,为逻辑电路•逻辑电路可以做成计算机系统中常用的部件,为逻辑部件。

•逻辑部件分为:组合逻辑部件和时序逻辑电路•描述逻辑函数的值与它的逻辑变量之间关系的表格,称作真值表。

第三章运算方法和运算器 3.1组成计算机硬件电路的基本逻辑部件逻辑代数中基本逻辑运算•逻辑与(逻辑乘)•逻辑或(逻辑加)•逻辑非(逻辑求反)•逻辑异或•逻辑同或第三章运算方法和运算器 3.1组成计算机硬件电路的基本逻辑部件1.“与”逻辑------实现的电路叫与门只有决定事物结果的全部条件同时具备时,结果才会发生(有一个条件不具备,结果也不会发生)。

闭合1闭合1逻辑表达式第三章运算方法和运算器 3.1组成计算机硬件电路的基本逻辑部件2.“或”逻辑------实现的电路叫或门决定事物结果的诸条件中只要有任何一个满足时,结果就发生,这种因果关系叫做逻辑“或”,换句话说,只有所给条件均不具备,结果才不会发生。

第三章运算方法和运算器 3.1组成计算机硬件电路的基本逻辑部件3.“非”(反)逻辑-----实现的电路叫非门(或反相器)如果条件具备了,结果便不会发生;而条件不具备时结果一定发生。

C语言程序设计 简单的算术运算和表达式(3.1.2)--3.1节-3.5节

C语言程序设计 简单的算术运算和表达式(3.1.2)--3.1节-3.5节

13
printf("area = %f\n", area);
14 }
【例题解析】本题用宏常量代替了程序中多次出现的常数,提高了程序的可读性和可维
护性。
【例 3.5】使用 const 常量定义,编程从键盘输入圆的半径 r,计算并输出圆的周长和面
积。
1 #include <stdio.h>
2 main()
a)(s
b)(s
c)
,s=
1பைடு நூலகம்2
(a
b
c)
试编程从键盘输入 a,b,c 的值(假设 a,b,c 的值可以保证其构成一个三角形),计算
并输出三角形的面积。
程序如下:
1 #include <stdio.h>
2 #include <math.h>
3 main()
4{
5
float a, b, c, s, area;
3{
4
const double pi = 3.14159; /* 定义实型的const常量pi */
5
double r;
6
double circum;
7
double area;
8
printf("Input r:");
9
scanf("%lf", &r);
10
circum = 2 * pi * r;
11
6
printf("(float)(m/2) = %f\n", (float)(m/2));
7
printf("(float)m/2 = %f\n", (float)m/2);

精品文档-计算机组成与系统结构(裘雪红)-第3章

精品文档-计算机组成与系统结构(裘雪红)-第3章

(4) 运算结果为补码表示。
第3章 运算方法与运算器
10
2. 溢出判断 1) 溢出的概念 例3.4 有两个定点整数63和85,利用补码加法求63+85=? 解 根据题意,用8位二进制补码表示63和85:
第3章 运算方法与运算器
11
例3.5 设正整数X=+1000001,Y= +1000011,若用8位补 码表示,则[X]补=01000001,[Y]补=01000011,求[X+Y]补。
第3章 运算方法与运算器
15
(2) 进位判决法。若Cn-1为最高数值位向最高位(符号位)的 进位,Cn表示符号位的进位(即进位标志CF),则判别溢 出的逻辑表达式为
(3-4)
OF=Cn-1⊕Cn
溢出判定如表3.1所示。在例3.6的运算过程中,Cn-1为0而 Cn为1 ,故Cn-1⊕Cn=1,表示运算结果有溢出。
第3章 运算方法与运算器
28
图 3.3 四位先行进位链电路
第3章 运算方法与运算器
29
5. BCD数加法器 1) 8421 BCD码
第2章中已详细地介绍了BCD码。在所描述的几种BCD码中, 计算机中应用最广泛的是8421 BCD码。8421 BCD码只利用了四 位二进制编码的0000~1001这十种来表示十进制数的0~9,剩余的
(3-6)
第3章 运算方法与运算器
19
3. 一位全加器的实现
设一位全加器的输入分别为Xi和Yi,低一位对该位的进位 为Ci, 全加器的结果和向高一位的进位分别用Zi和Ci+1表示, 则 一位全加器所实现的逻辑表达式如下:
(3-7)
(3-8)
第3章 运算方法与运算器
20
实现上述逻辑功能的一位全加器的逻辑电路及其框图分别

计算机组成原理复习题带答案

计算机组成原理复习题带答案

第1章计算机系统概述一、选择题1、在下列四句话中,最能准确反映计算机主要功能的是 C。

A、计算机可以存储大量信息B、计算机能代替人的脑力劳动C、计算机是一种信息处理机D、计算机可实现高速运算2、1946年2月,在美国诞生了世界上第一台电子数字计算机,它的名字叫(1)C,1949年研制成功的世界上第一台存储程序式的计算机称为(2)。

(1)A、EDVAC B、EDSAC C、ENIAC D、UNIVAC-Ⅰ(2)A、EDVAC B、EDSAC C、ENIAC D、UNIVAC-Ⅰ3、计算机硬件能直接执行的只能是B。

A、符号语言B、机器语言C、汇编语言D、机器语言和汇编语言4、对计算机软、硬件资源进行管理,是 A 的功能。

A、操作系统B、数据库管理系统C、语言处理程序D、用户程序二、填空题1、计算机的各大部件通过____总线____________连接在一起,它是各部件之间传输信息的通道。

2、计算机按内部信息形式可以分为___模拟____________和___数字信号_两类。

3、计算机硬件一般由_运算器,控制器_______、__存储器______、_输入_______和、____输出____和五大部分组成。

4、运算器是一个数据加工部件,主要完成二进制___算术_______运算及__逻辑________运算。

5、运算器的___位数________越多,计算的精度就越高,但是所费的电子器件也越多,成本越高。

三、简答题1、简述计算机的发展过程。

1、第一代电子管计算机1946年2月,诞生了世界上第一台电子数字计算机——ENIAC ,1949年研制成功的世界上第一台存储程序式的计算机EDSAC 。

2、第二代晶体管计算机1947年在贝尔实验室制成第一个晶体管,进入20世纪50年代全球出现一场以晶体管代替电子管的革命。

3、第三代集成电路计算机4、大规模集成电路计算机5、超大规模集成电路计算机3、冯.诺依曼计算机的特点是什么?它包括哪些主要组成部分?各部分的功能是什么?1、计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成2、指令和数据以同等的地位存放在存储器内,并可以按地址寻访3、指令和数据均用二进制数表示4、指令由操作码和地址组成。

第三章 运算方法和运算部件


实现MIPS定点和浮点运算指令的思路: 先实现一个能进行基本算术运算(加/减)和基本逻辑运算,并生成基本条件 码(ZF/OF/CF/NF)的ALU,再由ALU和移位器实现乘、除、浮点运算器。
ALU是运算部件的核心!以下介绍ALU的实现。
2016/12/30
ALU的功能说明
ALUop
A N ALU 3 Zero Result Overflow N CarryOut
问题:n位串行加法器从C0到Cn的 延迟时间为多少? 2n级门延迟!
2n+1级门延迟!
2016/12/30
回顾:并行进位加法器(CLA加法器)
为什么用先行进位方式? 串行进位加法器采用串行逐级传递进位,电路延迟与位数成正比关系。 因此,现代计算机采用一种先行进位(Carry look ahead)方式。 如何产生先行进位? 定义辅助函数:Gi=AiBi…进位生成函数 Pi=Ai+Bi…进位传递函数(或 Pi=Ai⊕Bi ) 通常把实现上述逻辑的电路称为进位生成/传递部件 全加逻辑方程:Si=Pi⊕Ci Ci+1=Gi+PiCi (i=0,1,…n) 设n=4,则:C1=G0+P0C0 C2=G1+P1C1=G1+P1G0+P1P0C0 C3=G2+P2C2=G2+P2G1+P2P1G0+P2P1P0C0 C4=G3+P3C3=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0 由上式可知:各进位之间无等待,相互独立并同时产生。 通常把实现上述逻辑的电路称为4位CLA部件 由此,根据Si=Pi⊕Ci ,可并行求出各位和。 通常把实现Si=Pi⊕Ci的电路称为求和部件

运算方法和运算部件

7.利用 SN74181 和 SN74182 器件设计一个 16 位并行进位补码加/减运算器,画出运算器的逻辑框图,并给出零 标志、进位标志、溢出标志、符号标志的生成电路。
参考答案:(略)
• 61 •
9.已知二进制数 x = 0.1010,y = -0.1101。请按如下要求计算,并把结果还原成真值。 (1) 求[x+y]补,[x-y]补。 (2) 用原码一位乘法计算[x∗y]原。 (3) 用布斯乘法计算[x∗y]补。 (4) 用不恢复余数法计算[x÷y]原的商和余数。 (5) 用不恢复余数法计算[x÷y]补的商和余数。
int optarith ( int x, int y) { int t = x; x << = 4; x - = t; if ( y < 0 ) y += 3;
y>>2; return x+y; } 参考答案: 对反编译结果进行分析,可知:对于 x,指令机器代码中有一条“x 左移 4 位”指令,即:x=16x,然后有一条 “减法”指令,即 x=16x-x=15,所以,根据源程序,知 M=15;对于 y ,有一条“y 右移 2 位”指令,即 y=y/4, 根据源程序,知 N=4。(当 y<0 时, (y+3)/4=y/4,若不调整,则“-1>>2=-1 而本来-1/4=0”,故使-1+3=2,2/4=0)
溢出。
(1) 234+567
(2) 548+729
参考答案:(略)
先确定位数,最高位有进位,则“溢出”
• 62 •
5.以下是两段 C 语言代码,函数 arith( )是直接用 C 语言写的,而 optarith( )是对 arith( )函数以某 M 和 N 编译生 成的机器代码反编译生成的。根据 optarith( ),可以推断函数 arith( ) 中 M 和 N 的值各是多少? #define M #define N int arith (int x, int y) { int result = 0 ; result = x*M + y/N; return result; }

第三章运算方法与运算器(定点数除法)

2Ri-Y
■ 当上述结果小于0时,商上0,恢复余数,然后左移一位,减除数比较,即:
(2Ri-Y)+Y= 2Ri 2*2Ri -Y = 4Ri –Y
■ 若当结果小于0时,商上0,不恢复余数而直接将余数左移一位,加Y:
2(2Ri-Y)+Y = 2*2Ri -2Y + Y = 4Ri –Y
第三章 3.6 定点数除法
1 00.0011
1
00.0110 0.11
+[–Y]补 11.0101
0 11.1011
0
11.0110 0.110
+[Y]补 00.1011
1 00. 0001 0.1101 1
减Y比较
余数 <0 商上零 左移一位 加Y比较 余数>0,商上1 左移一位 减Y比较 余数>0,商上1 左移一位 减Y比较 余数<0 商上零 左移一位 加Y比较
■重复上述过程直到商达到所需要的位数为止。
第三章 3.6 定点数除法
2
原码恢复余数除法
已知 X=0.1001,Y=- 0.1011,用原码一位除法求X/Y
解:[X]原= 0 .1001 [Y]原= 1.1011
[|X|]补=0.1001 [|Y|] 补=0.1011 [-|Y|]补 =1.0101
最后结果: 商Q = (X0 Y0).1101=1.1101 余数 R = 0.0001 * 2 -4
该方法存在的不足: 运算步数不确定
左移一位 减Y比较
1 余数>0,商上1,移商
第三章 3.6 定点数除法
3
原码加/减交替除法运算方法(不恢复余数法)
■ 设某次余数为Ri,将Ri左移一位减除数进行比较并上商,即:

中职计算机原理(高教版)教案:运算方法和运算器——定点运算器的组成和结构(全3课时)

江苏省XY中等专业学校2022-2023-2教案教学内容逻辑异或和逻辑非操作;移位操作主要完成逻辑左移、逻辑右移、算术左移、算术右移及其它一些移位操作。

在某些机器上ALU还要完成数值比较、变更数值符号、计算操作数在存储器中的地址等工作。

提问:ALU能够处理数据的位数与机器的字长有关码?试举例说明。

引导学生思考、回答并相互补充。

从下图可以看出,算术逻辑运算单元ALU有两个数据输入端A和B,一个数据输出端Y。

输入输出数据的宽度与ALU处理的数据宽度相同。

ALU一般具有A十B、A—B、B—A等算术运算功能,以及与、或、非、异或等逻辑运算的功能,还有左移、右移的功能。

3.2.2 通用寄存器组近代计算机的运算器中都有一组通用寄存器,它的主要用途是保存参加算的操作数和运算的结果。

寄存器是计算机中存取速度最快的存储器件,寄存器的存取周期一般是十几个毫微秒,远远快于内存储器的存取周期。

如果ALU的两个操作数都来自于寄存器,则可以极大地提高运算速度,这也就是为什么近代计算机都有一组相当数目的通用寄存器的道理。

江苏省XY中等专业学校2022-2023-2教案教学内容理解指令执行过程,也就是计算机总体运行过程。

假设这个通用寄存器组有两个输出端口RA和RB,有一个输人端口RI。

寄存器中的数据以补码表示。

并假设寄存器组中的寄存器1用R,表示,寄存器2用R.表示,寄存器3用R、表示。

运算之前,R,=0110,R2=1100,Z、N、C、V标志位全为0。

进行下面的操作后,标志位Z、N、C、V和R;的值如何?(1)第一种操作:R1加R2 ,结果送到R3中其操作过程如下:R1的内容通过端口RA输出,MUX1选择RA的内容送入ALU的输入端;R2的内容通过端口RB输出,MUX2选择RB的内容送人ALU的B输人端。

令ALU 做A+B算术加法操作,从Y输出端输出加的结果,并存人R,寄存器中。

(2)第二种操作:求与R,相补的数(取负数)其操作过程如下:R,的内容从RB输出,经过MUX2选择,送到ALU 的B输人端,在MUX1处选择常数"0"送入ALU的A 输人端,在ALU中选择A-B的算术运算功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

———


01001 +) 11000 1 00010 ——→ +) 1 ———— 00011 (X+Y)反=0.0011
计算机学院
一 .定点数的加减法运算
例2. X=-0.0101 Y=-0.1000 解:〔X〕反=11010 〔Y〕反=10111 1 1010 +) 1 ———— 0111 (1)1 0001 +) 1 ———— 1 0010 (X+Y)反=1.0010= - 0.1101 求X+Y=?

例2,X=-0.1010 Y=-0.1011
————————
(Y)
1.0101
1.0111
0.1011
结果产生正溢出。 果负溢出
计算机学院 结
一。定点数的加减法运算
4. 反码的加减法运算 两个数的反码相加运算时,符号位的进位不能丢掉,而要将它 加到和数的最低位,这称为“循环进位”。 例1. X=0.1001 y=-0.0110 求X+Y=? 解:﹝X﹞反 = 01001 ﹝Y﹞反 = 11001
-1
(2 -1) -m
P)
×2
-2P
③ ④① ② ∣ ∣ ∣ → _______________________________ ∣∣ 0
③最小负数:-1×2 ④最大负数:-(2 什么?)
+2
) ×2
(为
计算机学院
例1:浮点数的表示范围
上例中,若浮点数的基数是16,则表数范围是(设K=m/4): 最小正数:16
计算机学院
一.定点数的加减法运算
2、补码定点加减法运算的实现 P75 图3.1 为实现加法的逻辑图 ① 实现加法时应提供以下控制信号: A→ALU,B→ALU,+,ALU→A ② 实现减法时应提供以下控制信号: _ A→ALU,B→ALU,ALU+1,+,ALU→A
(Y)是将 而[[y] 补] 补补:Y用补码表示 注意:-[y] 补= [-y] 补= [[y] 补] 补; -(Y)补:对Y求补 [y] 补连同符号位一起“求反加1”。 计算机学院
尾数 23 52 64
总位
64 80
计算机学院
例1:浮点数的表示范围
浮点数的表示范围: 例1:设浮点数阶码为P+1位(含1位符号),用移码表示; 尾数为m+1位(含1位符号),用补码表示,基 数为2。 则该浮点数规格化的表示范围是: P
-1
-2
① 最小正数
2-m × 2
(2 -1)
P
②最大正数:(1- 2
计算机学院
3.2 带符号数的表示及加减运算
浮点数的规格化: 浮点数的规格化: 浮点数运算后必须化成规格化形式。 (1) 对于原码尾数来说,应该使最高数字位S1=1,如果不 是1,且尾数不是全0时就要向左移动尾数直到S1=1,阶码相 应地变化,以便保证N值不变。 (2) 如果尾数是补码,当N是正数时 S1必须是1;N是负数时 S1必须是0才是规格化形式(尾数最高位与尾数符号不同) 。
计算点数 1)定点小数
数符 | 数 据

小数点
表示方法:小数点固定在最高数值位与符号位之间,小数点不 表示方法: 用明确表示出来。任何一个小数都可以被写成: N=Ns.N-1N-2……N-m 其中,符号位用0表示正号,用1表示负号,后面m位表示该 小数的数值。定点小数的值的范围很小,对用m+1个二进制位表 示的小数,其值的范围|N|<=1-2-m ,即小于1的纯小数。
《计算机组成原理》
——武汉东湖学院本科生课程教学 武汉东湖学院本科生课程教学 武汉东湖学院
原稿: 武大计算机学院 原稿: 改编: 改编: 武 汉 东 湖 学院
《计算机组成原理》课程小组 算机组成原理》
2011.9
计算机学院
第三章 运算方法和运算部件
① 补码和反码的加减法运算 ② 定点数与浮点数 ③ 二进制乘法运算 ④ 二进制除法运算 ⑤ 浮点数的运算方法 ⑥ 运算器组成 ⑦ 数据校验码 ⑧ 小结与练习
-1
× 16
-k
-2 P (2 P-1)
最大正数:(1-16 最小负数:-1×16 最大负数: - (16
-1
) × 16
(2 -1)
P
+16
-k
) ×16
-2 P
计算机学院
IEEE754国际标准 IEEE754国际标准
标准规定 1.基数(指尾数的基数)= 2 2.尾数用原码表示; 3.阶码用移吗表示; 4.尾数的最高有效位隐藏表示(即不表示)。 因尾数用原码表示,规格化时最高位一定为1, 表示时不表示,但在计算时要在最高位补加上 隐藏的1.这样做可以让尾数多表示一位,从而 使精度增加了!
计算机学院
一.定点数的加减法运算
又如,X=-0.1101,Y=-0.1011,X+Y=? [X]补 1.0011 + [Y]补 1.0101 0.1000 两个负数相加的结果成为正数(符号为0),这同样是错误的, 原因也是产生了溢出。 为判断溢出是否产生,可以采用两种检测方法。 1) 双符号位检测 2) 单符号位检测
计算机学院
二。定点数和浮点数
浮点数的一般格式: 浮点数的一般格式: E0 E1…En
阶符 或者为:M0 M 尾符 E 阶 码 阶码 M
S0
尾符
S1….Sm
尾数
尾 数
例,-101.1101=- 2+3×0.1011101 =-0.1011101 × 2+3 其浮点数形式为:0011 11011101
计算机学院
二。定点数和浮点数
2、浮点数 表示方法: 表示方法:任意一个二进制数通过移动小数点的位置表示成阶 码和尾数两部分,类似科学计算法。 N=2E×S 其中,E为N的阶码,有符号的整数;S为N的尾数,数值的有效 部分,一般取二进制定点纯小数形式。 例,1011101B = 2+7 ×0.1011101 101.1101B = 2+3×0.1011101 0.01011101B= 2-1×0.1011101
计算机学院
一.定点数的加减法运算
方法1):变形补码(双符号位) 方法1):变形补码(双符号位)检测 变形补码 方法: 方法:每个操作数在运算时都采用两个符号位,正数用00表示 ,负数用11表示,两个符号位与码值一起参加运算;若运算结 果的两个符号位的代码不一致时表示溢出,两个符号位代码一 致时,表示没有溢出。 这种变形的补码表示,又称模4补码表示方法,其定义为: [X]= X 4+X 0<=X<1 -1<=X<0
计算机学院
一.定点数的加减法运算
例,X=+0.1011,Y= - 0.0101,X+Y=? [X]补=0.1011,[Y]补=1.1011 [X]补 0.1011 + [Y]补 1.1011 (1) 0.0110 所以,X+Y=0.0110 (3) X<0,Y>0,则X+Y>0或X+Y<0; 同(2)情况一样。
计算机学院
3.2 带符号数的表示及加减运算
浮点数表示的优点: 浮点数表示的优点: (1) 浮点数表示的数据范围比定点数大; (2) 运算过程中随时可对中间结果进行规格化处理,不易 丢失有效数字。 754标准的浮点数格式 标准的浮点数格式: IEEE 754标准的浮点数格式: 符号位 阶码 数 短浮点数 1 8 32 长浮点数 1 11 临时浮点数 1 15
计算机学院
一.定点数的加减法运算
(一)定点数加减法实现方案 二进制加法是实现算术运算的基础,采用补码方案时,加 减法可以用统一的方式处理。因此运算器的核心也就是加 法器的设计。 1、补码加减法运算 法则1 法则1:[X]补+[Y]补=[X+Y]补 两补码数相加,符号位与码值一起参加运算,符号位相加 后如果有进位,则该位数字舍弃。 下面分四种情况来证明上述补码加法公式:
或将补码表示的符号位上增加1就是移码,因此移 码又称增码。 见P80 例3.30
计算机学院
二.定点数与浮点数
移码的特点: 移码的特点: (1) 最高位为符号位,1表示正,0表示负。 (2) 零的移码是唯一的,即:[+0]补=[-0]补=10...0。 (3) 用移码表示便于比较数的大小,移码大真值就大,移码 小 真值就小。 (4)移码表示浮点数阶码时如为全0则是最小的负数,在处理时 作机器零(即整个浮点数为零)处理。
计算机学院
1.定点数的加减法运算 1.定点数的加减法运算
例,[X]补=1.0111,[Y]补=1.1011 [X]补 1.0111 +[Y]补 1.1011 (1)1.0010 所以,(X+Y)补=1.0010 由此可进一步推理出:
(符号位的进位丢弃) X+Y=-0.1110
法则2 法则2:[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补 (MOD 2)
计算机学院
一.定点数的加减法运算
(2) X>0,Y<0,则X+Y>0或X+Y<0; 相加两数一正一负,和有正负两种可能。 根据补码的定义可得: [X]补=X, [Y]补=2+Y 所以,[X]补+[Y]补=X+2+Y= 2+(X+Y) ① 当X+Y>0时,2+(X+Y)>2,进位2必舍弃丢失, 又因为(X+Y)>0, 所以[X]补+[Y]补=X+Y=[X+Y]补 (MOD 2) ②当X+Y<0时,2+(X+Y)<2,又因为(X+Y)<0, 所以[X]补+[Y]补=2+(X+Y)=[X+Y]补 (MOD 2)
相关文档
最新文档