计算机组成原理 ch2 运算方法与运算器_第1页
计算机组成原理 ch2 运算方法与运算器_第2页
计算机组成原理 ch2 运算方法与运算器_第3页
计算机组成原理 ch2 运算方法与运算器_第4页
计算机组成原理 ch2 运算方法与运算器_第5页
已阅读5页,还剩175页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Nanjing University of Information Science ; 2.2. 原码、补码、反码、移码等码制之间的关系以及各原码、补码、反码、移码等码制之间的关系以及各 码制之间真值数的转换;码制之间真值数的转换; 3.3. 补码的加减运算,定点原码一位乘、除运算,定点补码的加减运算,定点原码一位乘、除运算,定点 补码一位乘、除运算及其逻辑结构;补码一位乘、除运算及其逻辑结构; 4.4. 变形补码、运算方法(尤其是补码)的理解,溢出、变形补码、运算方法(尤其是补码)的理解,溢出、 进位等问题的出现和解决方法;进位等问题的出现和解决方法; 5.5. 定点数的变形补码加减运算;定

2、点数的变形补码加减运算; 6.6. 原、补码乘法和除法运算;原、补码乘法和除法运算; 7.7. 浮点运算方法和浮点数的规格化及其逻辑结构;浮点运算方法和浮点数的规格化及其逻辑结构; 8.8. 运算器的基本结构和设计方法,解已知芯片功能。运算器的基本结构和设计方法,解已知芯片功能。 本章要求:本章要求: Nanjing University of Information Science & Technology, Computer and Software Institute 主要内容:主要内容: n2.1 2.1 数据与文字的表示方法。数据与文字的表示方法。 n2.2 2.2 定点加、减法运算

3、。定点加、减法运算。 n2.3 2.3 定点乘法运算。定点乘法运算。 n2.6 2.6 浮点运算方法与浮点运算器。浮点运算方法与浮点运算器。 n2.5 2.5 定点运算器的组成与结构定点运算器的组成与结构 n2.4 2.4 定点除法运算。定点除法运算。 Nanjing University of Information Science & Technology, Computer and Software Institute 2.1 2.1 数据信息的表示方法数据信息的表示方法 2.1.1 数据数值的表示方法 2.1.2 非数据数值的表示方法 Nanjing University of Inf

4、ormation Science & Technology, Computer and Software Institute 2.1.1 2.1.1 数值数据的表示数值数据的表示 正、负符号正、负符号二进制的绝对值二进制的绝对值 真值 机器数0 0 或或1 1二进制的绝对值二进制的绝对值 符号 数值部分 n真值与机器数真值与机器数 Nanjing University of Information Science & Technology, Computer and Software Institute 真值与机器数真值与机器数 例:设机器字为例:设机器字为8b8b字长,字长, 数数N N1

5、1的真值为(的真值为(+1001110+1001110)2 2, 数数N N2 2的真值为(的真值为(-1001110-1001110)2 2, 则则N N1 1 、N N2 2对应的机器数为:对应的机器数为: 0 0 N N1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 N N2 2 符号 数值部分 Nanjing University of Information Science & Technology, Computer and Software Institute 2.2.数的机器码表示数的机器码表示 n

6、通常有四种表示法:通常有四种表示法: 原码表示法原码表示法 补码表示法补码表示法 反码表示法反码表示法 移码表示法移码表示法 Nanjing University of Information Science & Technology, Computer and Software Institute (1)原码表示法)原码表示法 0 0 或或1 1二进制的绝对值二进制的绝对值 n纯小数原码表示定义纯小数原码表示定义 n纯整数原码表示定义纯整数原码表示定义 原码 Nanjing University of Information Science & Technology, Computer an

7、d Software Institute 纯小数原码表示定义 n纯小数时,设纯小数时,设 x=xx=x0 0. x. x1 1 x x2 2 x xn-1 n-1 ,其中 ,其中x x0 0为符为符 号位,共号位,共n n位字长,则位字长,则 X 0X 1-2-(n-1) 1-X =1+|x| -(1-2-(n-1) ) X 0 X原 原 = n例如,若例如,若x1=+0.1011 x2=-0.1011x1=+0.1011 x2=-0.1011, 字长为字长为8b8b, 则其原码分别为:则其原码分别为: x1x1原 原=0.1011000 =0.1011000 x2x2原 原=1 + 0.10

8、11000 =1.1011000 =1 + 0.1011000 =1.1011000 n零的原码有正零和负零两种形式:零的原码有正零和负零两种形式: +0原 原=0.00 00 -0原 原 =1.00 00 Nanjing University of Information Science & Technology, Computer and Software Institute 纯整数原码表示定义 n纯整数时,设纯整数时,设 x=xx=x0 0 x x1 1 x x2 2 x xn-1 n-1 ,其中 ,其中x x0 0为符号为符号 位,共位,共n n位字长,则位字长,则 X 0X 2(n-

9、1) -1 2(n-1) -X = 2(n-1) +|x| -(2(n-1) - 1) X 0 X原 原 = n例如,若例如,若x1=+1011 x2=-1011, 字长为字长为8b,则其,则其 原码分别为:原码分别为: x1原 原=00001011 x2原 原= 27+ 00001011 =10001011 n零的原码有正零和负零两种形式:零的原码有正零和负零两种形式: +0原 原=000 00 -0原 原 =100 00 Nanjing University of Information Science & Technology, Computer and Software Institu

10、te 采用原码表示法简单易懂,但它的最大缺采用原码表示法简单易懂,但它的最大缺 点是加法运算复杂。点是加法运算复杂。 当两数相加时,如果是同号则数值相加;当两数相加时,如果是同号则数值相加; 如果是异号,则要进行减法。而在进行如果是异号,则要进行减法。而在进行 减法时还要比较绝对值的大小,然后大减法时还要比较绝对值的大小,然后大 数减去小数,最后还要给结果选择符号。数减去小数,最后还要给结果选择符号。 Nanjing University of Information Science & Technology, Computer and Software Institute (2)补码表示法补

11、码表示法 计算机中,运算结果模数时,说明该值已超出 机器的表示范围,模数自然丢掉。 模/模数:计算器具的容量。 计算机中,机器数表示数据的字长即位数是固定的。 n位数的模数= n位数全为1后,再在最末位加1 n位整数的模数=2n n位小数的模数=2 Nanjing University of Information Science & Technology, Computer and Software Institute 纯小数补码表示定义 n纯小数时,设纯小数时,设 x=xx=x0 0. x. x1 1 x x2 2 x xn-1 n-1 ,其中 ,其中x x0 0为符为符 号位,共号位,共

12、n n位字长,则位字长,则 X 0X 1-2-(n-1) 2+X =2-|x| -1 X 0 X补 补 = n例如,若例如,若x1=+0.1011 x2=-0.1011, 字长为字长为8b,则,则 其原码分别为:其原码分别为: x1补 补=0.1011000 x2补 补=2 - 0.1011000 =1.0101000 n补码的零只有一个,即补码的零只有一个,即0.0000000。 n补码补码1.0000000表示负表示负1 (mod 2) Nanjing University of Information Science & Technology, Computer and Software

13、 Institute 纯整数补码表示定义 n纯整数时,设纯整数时,设 x=xx=x0 0 x x1 1 x x2 2 x xn-1 n-1 ,其中 ,其中x x0 0为符号为符号 位,共位,共n n位字长,则位字长,则 X 0X 2(n-1) -1 2n +X = 2n -|x| -2(n-1) X 0 X补 补 = n例如,若例如,若x1=+1011 x2=-1011, 字长为字长为8b,则其,则其 原码分别为:原码分别为: x1补 补=00001011 x2补 补= 28-00001011 =11110100 (mod 2n) Nanjing University of Informati

14、on Science & Technology, Computer and Software Institute n 对补码进行运算,可将加、减运算统一成加法运对补码进行运算,可将加、减运算统一成加法运 算,降低了对计算机运算器的要求,因此得到广算,降低了对计算机运算器的要求,因此得到广 泛的应用。泛的应用。 n原码求补码的方法:原码求补码的方法: 正数,不变(相同)即原码正数,不变(相同)即原码=补码;补码; 负数,符号位不变,数值位按位取反加负数,符号位不变,数值位按位取反加1。 n补码求真值方法:补码求真值方法: 正数,正数, x补 补= x原原 负数,对负数,对 x补 补补补= x原原

15、 原码求真值:原码求真值:x原 原符号位 符号位0+,1 。 n补码的运算结果仍为补码。补码的运算结果仍为补码。 Nanjing University of Information Science & Technology, Computer and Software Institute (3)反码表示法反码表示法 n对于对于正数正数来说,来说,反码反码=原码原码=补码补码。 n对于对于负数负数来说,来说, 符号位:与原码、补码的符号位定义相同。符号位:与原码、补码的符号位定义相同。 数值:将原码的数值位按位变反。数值:将原码的数值位按位变反。 n例如,若例如,若x1=+0.1011 x2=-

16、0.1011, 字长为字长为8b。 x1反 反=0.1011000= x1原原= x1补补 x2反 反=1.0100111 x2补 补=1.0101000 x2原 原=1.1011000 n反码的零有两个反码的零有两个0.0000和和1.11111 Nanjing University of Information Science & Technology, Computer and Software Institute (4)移码移码 n移码也叫增码,常用来表示移码也叫增码,常用来表示整数整数形式的形式的 计算机计算机浮点数的阶码浮点数的阶码(表示指数)。(表示指数)。 n若纯整数若纯整数X

17、 X为为n n位(包括符号位),则其位(包括符号位),则其 移码定义为:移码定义为: xx移 移=2 =2n-1 n-1+x +x补 补 -2 -2n-1 n-1X2 X2n-1 n-1-1 -1 n方法方法:补码将符号位求反:补码将符号位求反可得移码可得移码 n设字长为设字长为8b8b,若,若x1=+1000 x1=+1000(2) (2), , x2=-1000 x2=-1000(2) (2), , x1x1补 补=00001000 x1 =00001000 x1移 移=10001000 =10001000 x2 x2补 补=11111000 x2 =11111000 x2移 移=0111

18、1000 =01111000 Nanjing University of Information Science & Technology, Computer and Software Institute 原、反、补、移码转换方法原、反、补、移码转换方法 n正数正数 原码原码=反码反码=补码补码 移码移码=补码符号位取反,数值位不变补码符号位取反,数值位不变 n负数负数 反码反码=原码符号位不变,数值位取反原码符号位不变,数值位取反 补码补码=反码末位加反码末位加1 移码移码=补码符号位取反,数值位不变补码符号位取反,数值位不变 Nanjing University of Informatio

19、n Science & Technology, Computer and Software Institute 数的定点表示数的定点表示 n计算机中小数的小数点并不是用某个数计算机中小数的小数点并不是用某个数 字来表示的,而是用字来表示的,而是用隐含隐含的小数点的位的小数点的位 置来表示。置来表示。 n根据小数点的位置是否固定,又可分为根据小数点的位置是否固定,又可分为 定点表示定点表示 l定点小数定点小数表示形式表示形式 l定点整数定点整数表示形式表示形式 浮点表示浮点表示 Nanjing University of Information Science & Technology, Com

20、puter and Software Institute 数的定点表示数的定点表示 定点小数 将小数点固定在将小数点固定在符号位符号位d d0 0之后、之后、数值最高位数值最高位d d-1 -1之前, 之前, 这就是定点小数形式。其格式如下所示:这就是定点小数形式。其格式如下所示: 定点整数 将小数点固定在数的将小数点固定在数的最低位最低位d d-(n-1 -(n-1)之后,这就是定点 之后,这就是定点 整数形式。其格式如下所示:整数形式。其格式如下所示: d d0 0 d d-1-1 d d-2 -2 d d-(n-1 -(n-1) d d0 0 d d-1 -1 d d-2 -2 . d

21、. d-(n-1 -(n-1) Nanjing University of Information Science & Technology, Computer and Software Institute 设字长为设字长为8b8b,用,用原码原码表示时,其表示范围如下:表示时,其表示范围如下: 最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 1.1111111 1.0000001 0.0000001 0.11111111.1111111 1.0000001 0.0000001 0.1111111 - -(1-21-2 ) ) -2-2 7 7 2 27 7 1-2 1

22、-2 7 7 定点小数定点小数的表示范围:的表示范围: 设字长为设字长为8b8b,用,用补码补码表示时,其表示范围如下:表示时,其表示范围如下: 最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 1.0000000 1.1111111 0.0000001 0.11111111.0000000 1.1111111 0.0000001 0.1111111 -1 -2-1 -2 7 7 2 27 7 1-2 1-2 7 7 Nanjing University of Information Science & Technology, Computer and Software

23、Institute 设字长为设字长为8b8b,用,用原码原码表示时,其表示范围如下:表示时,其表示范围如下: 最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 11111111 10000001 00000001 0111111111111111 10000001 00000001 01111111 - -(2 27 7-1-1)=-127 -1=-127 -1 +1 +1 2 27 7-1=127 -1=127 设字长为设字长为8b8b,用,用补码补码表示时,其表示范围如下:表示时,其表示范围如下: 最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数

24、 10000000 11111111 00000001 0111111110000000 11111111 00000001 01111111 -2-27 7=-128 -1=-128 -1 +1 +1 2 27 7-1=127 -1=127 定点整数定点整数的表示范围:的表示范围: Nanjing University of Information Science & Technology, Computer and Software Institute 数的浮点表示法数的浮点表示法 浮点数的表示格式 n浮点表示法把字长分成浮点表示法把字长分成阶码阶码(表示指数)(表示指数) 和和尾数尾数(

25、表示数值)(表示数值)两部分。两部分。X=DRE 阶码阶码E:用用整数整数形式表示,指明小数点在数形式表示,指明小数点在数 据中的位置,决定了浮点数的表示范围。据中的位置,决定了浮点数的表示范围。 尾数尾数D:用用定点小数定点小数表示,给出有效数字的表示,给出有效数字的 位数决定了浮点数的表示精度;位数决定了浮点数的表示精度; 阶码的底阶码的底R:一般为:一般为2、8或或16 ,且,且隐含规定,隐含规定, 在浮点数表示中不出现,通常取在浮点数表示中不出现,通常取2; Nanjing University of Information Science & Technology, Computer

26、 and Software Institute J EJ Em-1 m-1E E1 1 S D S D-1 -1D D-(n-1)-(n-1) 阶符 阶码值 数符尾数值 决定范围决定精度 第一种浮点格式第一种浮点格式 补码定点 整数形式 补码定点小 数表示形式 Nanjing University of Information Science & Technology, Computer and Software Institute 浮点数另一种格式:浮点数另一种格式: S J E S J Em-1 m-1E E1 1 D D-1 -1D D-(n-1)-(n-1) 阶符阶码值数符尾数值 存储

27、的数X可表示为X=D2E。 补码定点 整数形式 Nanjing University of Information Science & Technology, Computer and Software Institute 浮点数的规格化浮点数的规格化 为了使浮点表示法有尽可能高的精度:为了使浮点表示法有尽可能高的精度: n措施之一,是增加位数,或者是在字长措施之一,是增加位数,或者是在字长 一定的情况下,将阶码和尾数所占的位一定的情况下,将阶码和尾数所占的位 数协调好;数协调好; n措施之二,是采用浮点数规格化表示。措施之二,是采用浮点数规格化表示。 即即充分利用尾数的二进制数位来表示更充分

28、利用尾数的二进制数位来表示更 多的有效数字。多的有效数字。 Nanjing University of Information Science & Technology, Computer and Software Institute 浮点数规格化浮点数规格化 原码原码规格化后规格化后 正数为正数为 0.10.1的形式。的形式。 负数为负数为 1.11.1的形式。的形式。 补码补码规格化后规格化后 正数为正数为 0.10.1的形式。的形式。 负数为负数为 1.01.0的形式。的形式。 通过调整阶码,使其尾数通过调整阶码,使其尾数D满足下面形式的数:满足下面形式的数: 当尾数的值不为当尾数的值不

29、为 0 0 时,时,尾数域的最高有效位应为尾数域的最高有效位应为1 1, 否则以修改阶码同时左右移小数点的办法,使其否则以修改阶码同时左右移小数点的办法,使其 变成这一表示形式。变成这一表示形式。 Nanjing University of Information Science & Technology, Computer and Software Institute 浮点数的表示举例浮点数的表示举例 某机用某机用32b32b表示一个数,阶码部分占表示一个数,阶码部分占8b8b(含(含 一位符号位),尾数部分占一位符号位),尾数部分占24b24b(含一位符(含一位符 号位)。设号位)。设x1

30、=-256.5 x1=-256.5 ,x2=127/256x2=127/256,试写,试写 出出x1x1和和x2x2的两种浮点数表示格式。的两种浮点数表示格式。 例2.1 Nanjing University of Information Science & Technology, Computer and Software Institute x x1 1=-256.5= -=-256.5= -(100000000.1100000000.1)2 2=-2=-29 90.10000000010.1000000001 阶码的补码为(阶码的补码为(+9+9)补 补=00001001 =000010

31、01 阶码的移码为(阶码的移码为(+9+9)移 移=10001001 =10001001 尾数尾数=1.01111111110000000000000 =1.01111111110000000000000 (规格化补码规格化补码) 第一种浮点表示的格式为第一种浮点表示的格式为 0000100100001001,1.011111111100000000000001.01111111110000000000000 第二种浮点表示的格式为第二种浮点表示的格式为 1 1,1000100110001001,0111111111000000000000001111111110000000000000 解:

32、解: 移码 补码 Nanjing University of Information Science & Technology, Computer and Software Institute x x2 2=127/256=127/256=(11111111111111)2 22 2-8 -8 = 2 = 2-1 -10.11111110.1111111 阶码的补码为(阶码的补码为(-1 -1)补 补=11111111 =11111111 阶码的移码为(阶码的移码为(-1 -1)移 移=01111111 =01111111 尾数尾数=0.11111110000000000000000=0.11

33、111110000000000000000(规格化补码规格化补码) 第一种浮点表示的格式为第一种浮点表示的格式为 1111111111111111,0.111111100000000000000000.11111110000000000000000 第二种浮点表示的格式为第二种浮点表示的格式为 0 0,0111111101111111,1111111000000000000000011111110000000000000000 解解 Nanjing University of Information Science & Technology, Computer and Software Ins

34、titute 浮点数的表示范围浮点数的表示范围 设阶码和尾数各为设阶码和尾数各为4b4b(各包含一个符号位),则其(各包含一个符号位),则其 浮点数的表示表示范围分别为:浮点数的表示表示范围分别为: 阶码范围阶码范围 最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 1000 1111 0001 01111000 1111 0001 0111 -2-27 7=-8 -1=-8 -1 +1 +1 2 23 3-1=7 -1=7 规格化尾数表示范围规格化尾数表示范围 最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 1.000 1.011 0.100 0

35、.1111.000 1.011 0.100 0.111 -1 - -1 -(2 2 3 3+2 +2 1 1 ) ) 2 21 1 1-2 1-2 3 3 二进制补码 十进制真值 二进制补码 十进制真值 Nanjing University of Information Science & Technology, Computer and Software Institute 最小负数最小负数 最大负数最大负数 最小正数最小正数 最大正数最大正数 2 20111 0111 1.000 21.000 21000 1000 1.011 21.011 21000 1000 0.100 20.100

36、20111 0111 0.1110.111 2 21111 1111 1.000 21.000 20000 0000 1.011 21.011 20000 0000 0.100 20.100 21111 1111 0.1110.111 -2 -27 71 -21 -2-8 -8 (2 2 3 3+2 +2 1 1 ) ) 2 2-8-8 2 2 1 1 2 27 7 (1-21-2 3 3) ) 规格化浮点数表示范围规格化浮点数表示范围 二进制补码 阶码用移码 十进制真值 这里规格化这里规格化尾数的最大负数的补码尾数的最大负数的补码是是1.0111.011的形式,的形式, 而而不是不是1.10

37、01.100的形式,是因为的形式,是因为 1.1001.100不是规格化不是规格化 数,所以数,所以规格化尾数的最大负数规格化尾数的最大负数应是应是 : - -(0.100 0.100 + + 0.001 0.001)= - 0.1001 = - 0.1001 , 而而- 0.101- 0.101补补=1.011 =1.011 ,即,即 - -(2 2 (n-1)(n-1) +2 +2 1 1 ) ) 注意:注意: Nanjing University of Information Science & Technology, Computer and Software Institute (5

38、) (5) 溢出问题溢出问题 n定点形式判断溢出的办法是对数值本身定点形式判断溢出的办法是对数值本身 进行判断,进行判断, n浮点数是对规格化后的阶码进行判断。浮点数是对规格化后的阶码进行判断。 当一个浮点数阶码大于机器的最大阶码,称当一个浮点数阶码大于机器的最大阶码,称 为上溢;为上溢; l机器产生上溢时,不能再继续运算,一般要进行机器产生上溢时,不能再继续运算,一般要进行 中断处理。中断处理。 而小于最小阶码时,称为下溢。而小于最小阶码时,称为下溢。 l出现下溢时,一般规定把浮点数各位强迫为零出现下溢时,一般规定把浮点数各位强迫为零 (当做零处理当做零处理),机器仍可继续进行运算。,机器仍

39、可继续进行运算。 Nanjing University of Information Science & Technology, Computer and Software Institute 2.1.2 非数值数据的表示非数值数据的表示 n非数值数据:文字和符号(非数值数据:文字和符号(字符字符)、图)、图 像、声音等像、声音等 n非数值数据的表示:对其进行二进制编非数值数据的表示:对其进行二进制编 码码 1、字符编码、字符编码 2、汉字编码、汉字编码 Nanjing University of Information Science & Technology, Computer and S

40、oftware Institute 1、字符编码、字符编码 n字符的表示:采用字符编码,即用规定字符的表示:采用字符编码,即用规定 的二进制数表示文字和符号的方法。的二进制数表示文字和符号的方法。 nASCII码码(American Standard Code For Information Interchange) :美国标准信美国标准信 息交换码,为国际标准。息交换码,为国际标准。 n常用的常用的7位位ASCII码码的每个字符都由的每个字符都由7个二进制位个二进制位b6 b0 表示,有表示,有128个编码,最多可表示个编码,最多可表示128种字符;其种字符;其 中包括:中包括: 10个数字

41、个数字09:30H39H,顺序排列,顺序排列 26个小写字母个小写字母az:61H7AH ,顺序排列,顺序排列 26个大写字母个大写字母AZ:41H5AH ,顺序排列,顺序排列 各种运算符号和标点符号等。各种运算符号和标点符号等。 Nanjing University of Information Science & Technology, Computer and Software Institute ASCII码编码表码编码表 000001010011100101110111 0000NULDLESP0 P p 0001SOHDC1!1AQaq 0010STXDC2“2BRbr 0011E

42、TXDC3#3CScs 0100EOTDC4¥4DTdt 0101ENQNAK%5EUeu 0110ACKSYN&6FVfv 0111BELETB7GWgw 1000BSCAN(8HXhx 1001HTEM)9IYiy 1010LFSUB*:JZjz 1011VTESC+;Kk 1100FFFS,L、l| 1101CRGS-=Mm 1110SORS.Nn 1111SIUS/?O_oDEL Nanjing University of Information Science & Technology, Computer and Software Institute 其中其中95个编码个编码,对应着

43、计算机终端,对应着计算机终端能敲入并且能敲入并且 可以显示可以显示的的95个字符,打印机设备也个字符,打印机设备也能打印能打印 这这95个字符,如大小写各个字符,如大小写各26个英文字母,个英文字母, 09这这10个数字符,通用的运算符和标点符个数字符,通用的运算符和标点符 号,号,*,/,0或或0时,时,2 () 2,进位进位2必丢失,必丢失, 又因又因( () )0, 故故 补 补 补 补 补 补 (mod 2) 当当0时,时,2 () 2,又因又因( ( ) )0, 故故补 补 补 补 2() 补 补 (mod 2) Nanjing University of Information S

44、cience & Technology, Computer and Software Institute 0,则,则0或或 0。 这种情况和第这种情况和第2 2种情况一样,把种情况一样,把和和 的位置对调即得证。的位置对调即得证。 Nanjing University of Information Science & Technology, Computer and Software Institute 0,0,则,则0。 相加两数都是负数,则其和也一定是相加两数都是负数,则其和也一定是 负数。负数。 补 补 2,补 补 2 补 补 补 补 22 2(2) Nanjing University

45、 of Information Science & Technology, Computer and Software Institute 上式右边分为上式右边分为”2”和和(2)两部分两部分。 由于由于()是负数是负数,且,且其绝对值又小于其绝对值又小于 1,那么那么(2)就一定是小于就一定是小于2而大而大 于于1的数的数,进位进位”2”必丢失必丢失。又因又因( )0, 所以所以 补 补 补 补 (2) 2() 补 补(mod 2) 补 补 补 补 2 (2) Nanjing University of Information Science & Technology, Computer a

46、nd Software Institute 例0.1011, 0.0101,求,求 y。 解: 补0.1011,补1.1011 补0.1011 补1.1011 补 10.0110 所以0.0110 Nanjing University of Information Science & Technology, Computer and Software Institute 数用补码表示时,减法运算的公式为数用补码表示时,减法运算的公式为 补 补 补 补 补 补 补 补 补 补 (2-2) 只要证明只要证明补 补 补 补, ,上式即得证。上式即得证。 (2 2)补码的减法运算)补码的减法运算 Na

47、njing University of Information Science & Technology, Computer and Software Institute 证明证明 : 补 补 补 补 补 补 (mod 2) 补 补 补 补 补 补 (2-3) 补 补 ()补 补 补 补 补 补 补 补 补 补 补 补 (2-4) Nanjing University of Information Science & Technology, Computer and Software Institute 将式将式(2-3)与与(2-4)相加,得相加,得 补 补 补 补 补 补 补 补 补 补

48、补 补 补 补 补 补 补 补 补 补 补 补 0 故故补 补 补 补(mod 2)(2-5) Nanjing University of Information Science & Technology, Computer and Software Institute 另一种证明方法:利用补码加法公式, 00补 补= 0 = 0 y 补 补 y 补 补 y(y) 补 补 y y 补 补 0 补 补 0 故故 y 补 补 y补 补 对于定点小数和定点整数都适用 y 补 补的含义: 是将 y补 补的各位(包括符号位)全 部取反,末位加“1”。 Nanjing University of Info

49、rmation Science & Technology, Computer and Software Institute 从从补 补求 求补 补的法则是: 的法则是: 对对补 补各位 各位( (包括符号位包括符号位) )求反且最末求反且最末 位加位加1,即可得到,即可得到补 补。 。 写成运算表达式,则为写成运算表达式,则为 补 补 补 补 2 n 其中:其中: 符号符号表示对表示对补 补作包括符号位在内的 作包括符号位在内的 求反操作,求反操作,2 n表示最末位的 表示最末位的1。 Nanjing University of Information Science & Technology

50、, Computer and Software Institute 例1 已知已知10.1110,20.1101, 求:求:1补 补, ,1补 补, ,2补 补, ,2补 补。 。 解解: 1补 补 1.0010 1补 补 1补 补 2-4 0.11010.00010.1110 2补 补 0.1101 2补 补 2补 补 2-4 1.00100.00011.0011 Nanjing University of Information Science & Technology, Computer and Software Institute 例2 0.1101,0.0110,求,求。 解解: 补

51、补0.1101,补补0.0110, 补补1.1010 补补 0.1101 补补 1.1010 补补 10.0111 所以所以0.0111 Nanjing University of Information Science & Technology, Computer and Software Institute 参加运算的数都用参加运算的数都用补码补码表示。表示。 数据的符号与数据一样参加运算。数据的符号与数据一样参加运算。 求差时将减数求补,用求差时将减数求补,用求和代替求差求和代替求差。 运算结果运算结果为为补码补码。如果符号位为。如果符号位为0 0,表明,表明 运算结果为正;如果符号位为

52、运算结果为正;如果符号位为1 1,则表明,则表明 运算结果为负。运算结果为负。 符号位的进位符号位的进位为模值,应该丢掉。为模值,应该丢掉。 加减法运算规则 Nanjing University of Information Science & Technology, Computer and Software Institute 3. 溢出判断法 机器定点小数表示机器定点小数表示 n在定点小数机器中,数的表示范围为在定点小数机器中,数的表示范围为|1。 n在运算过程中如出现大于在运算过程中如出现大于1的现象,称为的现象,称为“溢溢 出出”。 n在定点机中在定点机中,正常情况下溢出是不允许的。

53、正常情况下溢出是不允许的。 Nanjing University of Information Science & Technology, Computer and Software Institute 例 0.1011, 0.1001,求求 。 解: 补0.1011 补0.1001 补0.1011 补0.1001 补 1.0100 两个正数相加的结果成为负数,这显 然是错误的。 Nanjing University of Information Science & Technology, Computer and Software Institute 例 0.1101, 0.1011,求求

54、。 解: 补1.0011 补1.0101 补1.0011 补1.0101 补0.1000 两个负数相加的结果成为正数,这 同样是错误的。 Nanjing University of Information Science & Technology, Computer and Software Institute 之所以发生错误,是因为运算结果产生了之所以发生错误,是因为运算结果产生了 溢出。溢出。 两个正数相加,结果大于机器所能两个正数相加,结果大于机器所能 表示的最大正数,称为表示的最大正数,称为上溢。 而两个负数相加,结果小于机器所而两个负数相加,结果小于机器所 能表示的最小负数,称为能表

55、示的最小负数,称为下溢。 Nanjing University of Information Science & Technology, Computer and Software Institute n为了判断为了判断“溢出溢出”是否发生,可采用两是否发生,可采用两 种检测的方法。种检测的方法。 第一种方法是采用第一种方法是采用双符号位法双符号位法(变形补码法,变形补码法, 或或“模模4 4补码补码”)。)。 第二种方法是第二种方法是进位判断法进位判断法(单符号位法单符号位法) 。 Nanjing University of Information Science & Technology,

56、 Computer and Software Institute (1)双符号法(变形补码法) n用用两个相同的符号位两个相同的符号位S Sf1 f1 S Sf2f2表示一个数的符号。 表示一个数的符号。 左边第一位为第一符号位左边第一位为第一符号位S Sf1 f1,相邻的为第二符号位 ,相邻的为第二符号位 S Sf2 f2。 。 n双符号位的含义为:双符号位的含义为: 0000表示正号;表示正号; 1111表示负号;表示负号; 0101表示产生正向溢出;表示产生正向溢出; 1010表示产生负向溢出。表示产生负向溢出。 n双符号位可用逻辑异或来判断溢出情况:双符号位可用逻辑异或来判断溢出情况:

57、 V=SV=Sf1 f1S Sf2 f2 ,此逻辑表达式可用 ,此逻辑表达式可用异或门异或门实现。实现。 若若V=0V=0,则无溢出;,则无溢出;V=1V=1,则有溢出。,则有溢出。 n第一符号位永远是结果的真正符号位。第一符号位永远是结果的真正符号位。 Nanjing University of Information Science & Technology, Computer and Software Institute 例例1 1:已知:已知 x=0.1011 x=0.1011 , y=0.0111y=0.0111, 求求x+yx+y= =? 解:解:xx 补 补=00.1011 =0

58、0.1011,yy 补 补=00.0111 =00.0111 x x 补 补= 00.1011 = 00.1011 + y + y 补 补= 00.0111 = 00.0111 x+y x+y 补 补= 01.0010 = 01.0010 两符号位为两符号位为0101,表示出现正向溢出。,表示出现正向溢出。 例例2 2:已知:已知 x=-0.1011 x=-0.1011 , y=0.0111y=0.0111, 求求x-yx-y= =? 解:解:xx 补 补=11.0101 =11.0101,-y-y 补 补=11.1001 =11.1001 x x 补 补= 11.0101 = 11.0101

59、 + -y + -y 补 补= 11.1001 = 11.1001 x-y x-y 补 补= = 1 1 10.1110 10.1110 已超出模值,丢掉已超出模值,丢掉 两符号位为两符号位为1010,表示出现负向溢出。,表示出现负向溢出。 Nanjing University of Information Science & Technology, Computer and Software Institute 进位判断法 n判断规则:设判断规则:设C Cn-1 n-1为 为最高数值位向符号位的进最高数值位向符号位的进 位值产生的进位位值产生的进位, C Cn n为为符号位产生的进位符号位产

60、生的进位。 当两补码进行加减运算(减法转化为加法进行)当两补码进行加减运算(减法转化为加法进行) 时,时, 如果两个进位值如果两个进位值C Cn-1 n-1 C Cn n相同,则没有溢出发生 相同,则没有溢出发生 如果两个进位值不同,则有溢出发生。如果两个进位值不同,则有溢出发生。 l若若C Cn-1 n-1 1, C Cn n 0时,则发生正溢时,则发生正溢 l若若C Cn-1 n-1 0, C Cn n 1时,则发生负溢时,则发生负溢 n其判断溢出表达式如下:其判断溢出表达式如下:V=CV=Cn nCCn-1 n-1 , , 此逻式可用异或门实现此逻式可用异或门实现 Nanjing Uni

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论