第三章 计算机的运算方法

合集下载

计算机组成原理 [袁春风]chap3_1

计算机组成原理 [袁春风]chap3_1

15
南京大学计算机系 多媒体技术研究所 袁春风
3.2.3 先行进位ALU
(1)为什么用先行进位方式 行波进位是串行逐级传递的 整个和的生成受到行波进位的影响 因此 现代计算机采用一种先行进位(Carry look ahead)方式 (2)如何产生先行进位 定义两个辅助函数 Gi=aibi…进位生成 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的电路称为求和部件 CLA加法器由“进位生成/传递部件” “CLA部件”和“求和部件”构成
高位进位逻辑表达式
9
南京大学计算机系 多媒体技术研究所 袁春风
全加和逻辑
10
南京大学计算机系 多媒体技术研究所 袁春风
全加和逻辑 续
11
南京大学计算机系 多媒体技术研究所 袁春风
全加器逻辑图
上述全加器和Sum的延迟为6ty,进位Cout的延迟为 (假定一个与/或门延迟为1ty 异或门的延迟则为
AL BL CL DL CS DS SS ES IP 16位

第三章 运算方法

第三章 运算方法

第三章运算方法一名词解释(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.在下列有关不恢复余数法何时需恢复余数的说法中,正确的是_____。

补码一位乘法

补码一位乘法

计算机组成原理第三章运算方法与运算器3.4 补码一位乘法1补码一位乘法的基本方法设[X]补= X0X1X2X3…X n[Y]补= Y0Y1Y2Y3…Y n可证明:[X⋅Y]补= [X]补•( 0.Y1Y2Y3…Yn) –Y0• [X]补进一步展开合并后可得:n[x•y]补=[x] 补•∑(y i+1-y i)2-i (符号位参加运算)i=01补码一位乘法的基本方法[x•y] 补=[x] 补• (y i+1-y i)2-i (符号位参加运算)补码一位乘法的运算规则如下:(1)如果y n+1=y n,部分积加0,部分积算术右移1位;(2)如果y n+1y n=10,部分积加[x]补,部分积算术右移1位;(3)如果y n+1y n=01,部分积加[-x]补,部分积算术右移1位.重复进行n+1步,但最后一步不移位。

包括一位符号位,所得乘积为2n+1位,其中n为数据位位数.1补码一位乘法的基本方法几个特殊问题的处理[x •y] 补=[x] 补• (y i+1-y i )2-i (符号位参加运算) 设[X]补= X 0X 1X 2X 3…X n [Y]补= Y 0Y 1Y 2Y 3…Y n(1)i=n 时,y n+1=?(2)y n+1是哪个寄存器?(3)算术右移的对象有哪些?y n+1=0在乘数寄存器Y 后增加的一位部分积和乘数寄存器均右移2补码一位乘法的举例例1 已知X= +1101 Y=+1011 用补码一位乘法求X⨯Y解:[X]补=01101 [Y]补=01011 [–X]补=10011部分积乘数说明000000 010110Y n+1< Y n部分积+[–X]补+ 110011110011→111001101011结果右移一位,Y n+1= Y n部分积+0+ 000000111001→111100 110101结果右移一位, Y n+1> Y n部分积+[X]补+ 0011010010012补码一位乘法的举例部分积乘数说明→000100 111010将结果右移一位, Y n+1< Y n部分积+[–X]补+ 110011110111→111011 111101将结果右移一位, Y n+1> Y n部分积+[X]补+ 001101001000∴[X⋅Y]补=010001111∴X⋅Y= 010001111。

计算机组成原理第三章运算方法与运算器(含答案)

计算机组成原理第三章运算方法与运算器(含答案)

第三章运算方法与运算器3.1定点数运算及溢出检测随堂测验1、定点运算器可直接进行的运算是() (单选)A、十进制数加法运算B、定点数运算C、浮点数运算D、定点数和浮点数运算2、设计计算机字长为8位,两个十进制数X = -97 ,Y = 63, [x]补- [y]补的结果为()(单选)A、01100000B、11011110C、负溢出D、正溢出3、下列关于定点运算溢出的描述中,正确的是( ) (多选)A、补码数据表时,同号数相加可能发生溢出B、补码数据表时,异号数相减可能发生溢出C、参加运算的两个数,当作为有符号数和无符号数进行加法运算时,不可能两者都溢出D、溢出检测既可用硬件实现,也可用软件实现4、设X为被加(减)数,Y为加(减)数,S为运算结果,均采用补码数据表示,下列关于溢出电路设计的描述中,正确的是()(多选)A、采用单符号位时,直接用X、Y和S的符号位就可设计溢出监测电路B、采用双符号位时,可直接用S的双符号位设计溢出检测电路C、采用单符号位时,可直接用X、Y最高有效数据位运算后的进位位和S的进位设计溢出监测电路D、对无符号数的加/减运算,可利用运算器的进位信号设计溢出检测电路3.2 定点数补码加、减运算器设计随堂测验1、如图所示为基于FA的运算器:为了利用一位全加器FA并配合使用控制信号P,当P= 0/1时实现A、B两个数的加法/减法运算,图中空白方框处电路的逻辑功能应该是()(单选)A、与门B、或门C、异或门D、非门2、如图所示为带溢出检测功能的运算器该电路完成的溢出检测功能是()(多选)A、带符号数的加法溢出检测B、带符号数的加法溢出检测C、无符号数的加法溢出检测D、无符号数减法的溢出检测3、下列关于并行进位的描述中,正确的是()(多选)A、并行进位可以提高运算速度B、并行进位模式下,各进位位采用不同电路各自产生,相互间不再有依存关系C、采用先行进位部件和ALU模块可构建长度可变的并行进位运算器D、并行进位只对加法有效,而对减法无效4、四位并行ALU中有两个特殊的输出端,分别是:G =A3B3+(A3+B3)(A2B2+(A2+B2)(A1B 1+ (A1+B1) A 0B0)) 为进位产生函数,P=(B3+A3) (B2+A2)( A1+B1 ) (A0+B0)为进位传递函数下列关于P、G的描述中,正确的是()(多选)A、设计P和G的目的是为了构建位数更长的并行ALUB、P和G对算术运算和逻辑运算都有意义C、P的作用是将本片ALU的最低进位输入位传递到本片ALU的最高进位输出端D、G的作用是根据参与运算的两个数据产生本片ALU的最高进位输出3.3 原码一位乘法随堂测验1、设计算机字长为8位,X = - 19,对该分别执行算术左移和逻辑左移一位后的结果分别为()(单选)A、11011010 ,11011010B、11110010 ,11110010C、11011000 ,11011000D、11110000 ,111100002、设计算机字长为8位,X = - 19,对该分别执行算术右移和逻辑右移一位后的结果分别为()(单选)A、11111001,11111001B、11111001,01111001C、11110110,01110110D、11110110,111101103、关于原码一位乘法的下列描述中,正确的是()(多选)A、数据取绝对值参加运算B、符号位单独处理C、乘法执行过程中的所有移位都是算术移位D、最后的结果由部分积寄存器和乘数寄存器共同保存4、计算机字长为n位, 下列关于原码一位乘法操作过程的描述中,正确的是() (多选)A、乘法过程中共执行n 次算术右移和n 次加法运算B、乘法过程中共执行n -1次算术右移和n-1 次加法运算C、乘法过程中,部分积加0 还是加x的绝对值,取决于此时的YnD、乘法过程中右移部分积是为了使部分积与下次的加数按位对齐3.4 补码一位乘法随堂测验1、16位补码0X 8FA0扩展为32位的结果是() (单选)A、0X 0000 8FA0B、0X FFFF 8FA0C、0X FFFF FFA0D、0X8000 8FA02、计算机字长为n位, 下列关于补码一位乘法操作过程的描述中,正确的是() (多选)A、乘法过程中共执行n 次加法和n-1 部分积右移B、乘法过程中共执行n -1次算术右移和n-1 次加法运算C、乘法过程中,部分积加0 、[x]补还是[-x]补,取决于此时的Yn+1 与Yn的差D、乘法过程中右移部分积的目的是为了使部分积与下次的加数对齐3、关于补码码一位乘法的下列描述中,正确的是()(多选)A、符号位和数据位一起参加运算B、运算开始前,需要在乘数寄存器Y后面补上Yn+1且其初值为0C、乘法执行过程中的对部分积的移位是算术右移D、最后的结果由部分积寄存器和乘数寄存器共同保存3.5 乘法运算器设计随堂测验1、下图为原码一位乘法器原理图正确的是()(单选)A、A: 部分积寄存器B:乘数寄存器C: |X| D: YnB、A: 部分积寄存器B:乘数寄存器C: |X| D: Yn+1C、A: 被乘数寄存器B:乘数寄存器C: |X| D: YnD、A: 被乘数寄存器B:乘数寄存器C: |X| D: Yn+12、下图为补码一位乘法原理图正确的是() (单选)。

运算方法和运算部件

运算方法和运算部件

• 在计算机内部实现BCD码算术运算,要对运算结果 进行修正,对加法运算的修正规则是: • 如果两个一位BCD码相加之和小于或等于(1001)2, 即(9)10,不需要修正;如相加之和大于或等于 (10)10,要进行加6修正,并向高位进位,进位可以 在首次相加(例3.10③)或修正时(例3.10②)产生。 • 例3.10 • ① 1+8=9 0001 +1000 1001 • 不需要修正
3 4 5 6 7 8 9
0011 0100 0101 0110 0111 1000 1001
0011 0100 1011 1100 1101 1110 1111
0101 0111 1000 1000 0111 1011 1100 1110 1111
• (2) 无权码 • 表示一个十进制数位的二进制码的每一位没有确定 的权。用得较多的是余3码(Excess-3 Code)和格雷 码(Gray Code),格雷码又称“循环码”。 • 余3码是在8421码基础上,把每个编码都加上0011 而形成的(见表3.3),其运算规则是: • 当两个余3码相加不产生进位时,应从结果中减去 0011;产生进位时,应将进位信号送入高位,本位 加0011。 • 例3.11 (28)10+(55)10=(83)10
• 例3.7 将(105)10转换成二进制。 2 105 余数 结果 2 52 1 最低位 2 26 0 2 13 0 … 26 1 23 0 21 1 0 1 最高位 • 得出:(105)10=(1101001)2
• 对小数部分,一般用乘2取整数法,其规则如下: • 将十进制数乘以2,所得乘积的整数部分即为对应 二进制小数最高位的值,然后对所余的小数部分乘 以2,所得乘积的整数部分为次高位的值,如此进 行下去,直到乘积的小数部分为0,或结果已满足 所需精度要求为止。 • 例3.8 将(0.312 5)10和(0.312 8)10转换成二进制数(要 求4位有效位)。

计算机的运算方法

计算机的运算方法

即得[ y 即得 y]补
[y]补连同符号位在内, 每位取反, -n 连同符号位在内, 每位取反, 末位加 1 … 即得[ 即得
y = (0. y1 y2 yn + 2 ) y]补 … yn + 2-n y = 0. y1 y2
[ y]补 = 0. y1 y2 … yn + 2-n
例:求补运算
已知:[B]补=0,0101101 求:[-B]补 解:[-B]补=1,1010011
上溢 阶码 > 最大阶 码 下溢 阶码 < 最小阶码 按 机器零 处理 上溢 上溢 负数区
最小负数 ( 2m–1)×( 1 – 2–n) –2
下溢
正数区
最大正数 2( 2
m–1)
0
最小正数
–( 2m–1)×2–n 2
–2
15
×( 1 – 2 )
-10
×( 1 – 2–n) 215 ×( 1 – 2 10)
解: ∵ 215 = 32768 ∴ 15 位二进制数可反映 ±3 万之间的十进制数 215 × 0.××× … … ×× m = 4、5、6 … 、 、
满足 最大精度 可取 m = 4,n = 18 ,
2. 浮点数的表示范围,阶码的数值部分为 位,尾数的数值部分为 位 浮点数的表示范围,阶码的数值部分为m位 尾数的数值部分为n位
数的定点表示和浮点表示
小数点按约定方式标出 一、定点表示
S f S 1S 2 … S n
数 符 小数点 数
Sf S1S2 … Sn
数 符 数 小数点
小数

二、浮点表示
N = S×rj
S 尾数 j 阶码 浮点数的一般形式 r 基数(基值) 基数(基值)

计算机的运算方法除法运算

计算机的运算方法除法运算
6.3 定点运算 •一、移位运算 •二、加减法运算 •三、乘法运算 •四、除法运算
6.3 定点运算
•四、除法运算 –1. 笔算除法是怎么做的 –2. 如何用计算机硬件来模拟笔算 除法的过程
•恢复余数法 •加减交替法
四、除法运算
1. 分析笔算除法 x = – 0.1011 y = 0.1101 求 x÷y
0
X
n
计数器 C GD S V
例6.25 结果
① x0 y0 = 1 1 = 0

x* y*
=
0.1101

[
x y
]原
=
0.1101
特点 上商 n+1 次 第一次上商判溢出 移 n 次,加 n+1 次 用移位的次数判断除法是否结束
(3) 原码加减交替除法硬件配置
0
A
n
0
Q
n
n + 1 位加法器
左移 加

移位和加控制逻辑
控制门
3. 原码除法
以小数为例
[ x ]原 = x0. x1x2 … xn
[ y ]原 = y0. y1y2 … yn
[
x y
]原
=
(x0
y0).
x* y*
式中 x* = 0. x1Fra bibliotek2 … xn 为 x 的绝对值 y* = 0. y1y2 … yn 为 y 的绝对值
商的符号位单独处理 x0 y0
数值部分为绝对值相除
计算机实现除法时,要把除数右移改为被除数/余数左移。
要求计算机把求得的商直接写进商寄存器的每个对应位也是 不可取的,通常是把商上到商寄存器的最低位,并把部分商左移 一位。

计算机原理第三章运算方法和运算器综合练习

计算机原理第三章运算方法和运算器综合练习

计算机原理第3章运算方法和运算器综合练习一、选择题知识点:定点补码的加法,减法,不带符号数的运算,溢出 P261、[X]补+[Y]补=[X+Y]补(mod 2n)2、[X-Y]补=[X+(-Y)]补= [X]补+[-Y]补(mod 2n)3、[-Y]补=[[Y]补]变补(注:连同符号位一起变反加1的过程叫变补或求补。

)4、判断溢出条件: C S+1和C S相异时溢出当C S+1C S=00或 C S+1C S=11时不产生溢出。

当C S+1C S=01或C S+1C S=10时则产生溢出。

1、计算机中实现减法运算使用的方法是()A.从被减数中减去减数 B.从减数中减去被减数再求反C.转换为补码的加法运算 D.依减数的形式再选择一种适当的方法2、定点数作补码加减运算时,其符号位是( )A.与数位分开进行运算B.与数位一起参与运算C.符号位单独作加减运算D.两数符号位作异或运算3、补码加减法运算是()A .操作数用补码表示,两数的尾数相加减,符号位单独处理,减法用加法代替B .操作数用补码表示,符号位与尾数一起参加运算,结果的符号与加减所得相同C .操作数用补码表示,连同符号位直接相加减,减某数用加负某数的补码代表,结果的符号在运算中形成D .操作数用补码表示,由数符决定两尾数的操作,符号位单独处理4、执行二进制算术运算11001001+00100111,其运算结果是()。

A) 11101111 B) 11110000 C) 00000001 D) 101000105、已知X的补码为11101011,Y的补码为01001010,则X+Y的补码为()。

A、10100001B、11011111C、00110101D、溢出6、已知X的补码为11101011,Y的补码为01001010,则X-Y的补码为()。

A、10100001B、11011111C、10100000D、溢出7、下面关于溢出的描述正确的是()A 溢出就是进位B 溢出是指运算结果的最高位向更高位进位或借位C 溢出与补码运算中的模丢失是一个概念D 溢出主要用于判断带符号的运算结果是否超过数的表示范围8、定点运算器运算时产生溢出的原因是()。

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

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,且与二进制转换方便,因此十六进制数 常用来在程序中表示二进制数或地址。
特点: 用十六个数码表示——0、1、2、3、4、5、6、7、 8、9、A、B、C、D、E、F 遵循“逢十六进一”的规 则
2
二.各进制之间的转换.(略) 三.各进制的加减运算.(略)
(1) (100101)2+(101101)2= (1010010)2

253 254 255
… …
+127 -0 -1
-125 -126 -127
… …

+127 -128 -127
-3 -2 -1

+127 -127 -126
-2 -1 -0


采用变形码计算好处:既能判断是否有溢出,又能判断结果的符号 位。 符号位 含义解读 00 无溢出,结果符号为正 01 正溢出,结果真正符号为正(正数+正数) 10 11 负溢出,结果真正符号为负(负数+负数) 无溢出,结果真正符号位为负数
无符号数的表数范围: 8 位
16 位
0 ~ 65535
二、有符号数(机器数)P19
1. 机器数与真值
真值
带正负号的数
机器数
符号数字化的数
+ 0.1011 – 0.1011 + 1100
0 1011
小数点的位置
1 1011
小数点的位置
0 1100
小数点的位置
– 1100
1 1100
小数点的位置
2. 原码表示法 (1) 形式 一个数,其符号用0或1进行编码,叫原码.用0表示+, 用1表示 如 x = +1110
如: 真值
+1001 -1001 +0.1101 -0.1101 [+0]反=00000 原码 01001 11001 0.1101 1.1101 [-0]反=11111 反码 01001 10110 0.1101 1.0010
(2)反码的运算
规则:1.反码运算时,其符号位与数值一起参加运算.
2.反码的符号位相加后如果有进位出现,则需把 它送到最低位去相加.
小数 0.1011 形式 整数 -1100 0 1011
小数点的位置
1 1100
小数点的位置
2.浮点数
(1)概念:小数点位置可以浮动的数据 (2)形式:N=M×RE 阶码
尾数 基数
科学计数法的表 达方式
(3)举例:
N1=3.14159(D)=0.314159×101=0.0314159×102
N2=0.011(B)=0.11×2-1=0.00011×22
1.0110
+0.0010
1.1000
5.移码. (1).移码的形式 用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小 无论正数还是负数,移码与补码的数字位相同,符号位相反.
例4
已知:X=-0.0011011 ,求[X]移
分析:将其转换成补码,再转换成移码. X =-0.0011011 =[1.0011011]原 [+0]移=[-0]移=10000
第三章 计算机的运算方法
内容简介:本章主要介绍了计算机中数据的表示方法及 相互的转换过程, 带符号数的表示方法和运算,计算机数 据在传输过程中出错时采取的措施---数据校验的过程.
学习目标:1.熟悉并掌握计算机中数据的表示方法,相互转 换和相关运算. 2.理解数据校验的相关概念,掌握其校验的方法.
内容 提要
11010 0.1001
1.1001
[+0]补=[-0]补=00000
(2)补码的运算 规则:1.其符号位与数值部分一起参加运算 2.补码的符号位相加后如果有进位出现,则需把这 个进位舍去. 3.补码的运算形式: [X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补+[-Y]补
例2
已知:X=-0.1010,Y= -0.0010,求X+Y和X-Y(用补码运算完成)
(4)浮点数在计算机中的格式:
Ef E S M
阶码符号位
阶码
尾数符号位尾数移源自表示原码表示按照IEEE754标准,对上面格式进行简化: (阶符采用隐含式,包括阶码符号位和阶码) S(1位) E(1+7位) M(23位)
根据IEEE754标准,常用的浮点数有两种格式: 1.单精度浮点数共32位,阶码8位(内含1位符号位), 尾数24位(其中1位符号位提到最前面) 2.双精度浮点数共64位,阶码11位(内含1位符号位), 尾数53位(其中1位符号位提到最前面) 例题1 按单精度浮点数,阶符隐含式格式表示 N=-0.01101×23B 1 1 0000011 01101
2.可以将两数转换成反码相加,结果再转换 成真值.
(1)将X=0.1011,Y= -0.0100转换成反码.
[X]反=0.1011 [Y]反=1.1011 (2)求[X+Y]反 [X+Y]反=[X]反+[Y]反 =0.1011+1.1011 =0.0111 (3)求[X+Y]原
产生进位, 将其送到 最低位相 加
加6(0110)进行 修正
8
3
3.2 带符号数在计算机中的表示方法及运算
一.概述
计算机中参 与运算的数 注 意 无符号数(正整数) 有符号数 存放于寄存 器中
无符号数在寄存器中的每一位均可用来存 放数值,当存放有符号数时,则需留出位置 存放符号,在机器字长相同时,无符号数和 有符号数的表数范围是不同的. 0 ~ 255
3.反码的运算形式:
[X+Y]反=[X]反+[Y]反
例1
[X-Y]反=[X]反+[-Y]反
已知:X=+0.1011,Y= -0.0100,求X+Y 分析:1.题目中给出的两个数均为真值,且分别是 正数和负数,在计算机中真值均被转换成其他码 制计算. 思考:能否将X,Y转换成原码,直接相加?为什么?
不能,因为原码中正数和负数相加符号位不能确定
(1)1 + 8= 9 0001
大于1001 需修正
(2)4+9= 13 0100
+1000
1001
+1001
1101 + 0110 10011
加6(0110)进 行修正
进位 不需修正
0001 0011
(3)(28)D+(55)D= (83)D 0010 + 0101 0111 + 1000 1000 1000 0101 1101 0110 0011 0011
0.1011 +1.1011 10.0110 + 1 0.0111
结果为正数,反码形式与原码形式相同. [X+Y]原=0.0111
则X+Y=+0.0111
4. 补码表示法 (1) 补码的形式 正数的补码与原码相同,负数的补码为其反码的末位 加一可得
真值 +1010 -1010 +0.1001 -0.1001 原码 01010 反码 01010 10101 0.1001 1.0110 补码 01010 10110 0.1001 1.0111
x = 1110
x = + 0.1101 [x]原 = 01110
[x]原 = 11110
[x]原 = 0 . 1101
x = 0.1101
[+0]原=00000
[x]原 = 1.1101
[-0]原=10000
简单、直观 (2)原码的优点: 缺点:进行加减法运算时,比较复杂. 用原码做加法时,会出现如下问题:
[x]移= 10101
[y]补= 00110 [-y]补= 11010 [x+y]移=[x]移+[y]补= 10101+00110= 11011
[x-y]移=[x]移+[-y]补=10101+11010= 01111(溢出)
注意
相关文档
最新文档