计算机组成原理-运算方法_PART1_第1页
计算机组成原理-运算方法_PART1_第2页
计算机组成原理-运算方法_PART1_第3页
计算机组成原理-运算方法_PART1_第4页
计算机组成原理-运算方法_PART1_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、College of Computer Science & Technology计算机的运算方法计算机的运算方法 鲁东大学鲁东大学 LUDONG UNIVERSITY计算机的运算方法计算机的运算方法计算机中运算的实现数在计算机中的表示 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(I)-无符号数与有符号数无符号数与有符号数1.1.无符号数无符号数 - -存储单元存储单元/ /寄存器中存储的全为二进制数值位寄存器中存储的全为二进制数值位存储单元的位数决定了其表示范围存储单元的位数决定了其表示范围00000000111111118位位 028-1 N位位N位位 0

2、2N-1 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(I)-无符号数与有符号数无符号数与有符号数在机器中的表示在机器中的表示0 10110 11001 1100小数点的位置小数点的位置小数点的位置小数点的位置+ 0.1011+ 1100 1100 0.10111 1011小数点的位置小数点的位置小数点的位置小数点的位置真值真值 机器数机器数2. 2. 有符号数有符号数数的自然表示数的自然表示符号如何符号如何表示?表示?+ +号号-0-0- -号号-1-1 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(I)-无符号数与有符号数无符号数与有符号

3、数有符号数的机器表示有符号数的机器表示0 10110 11001 1100小数点的位置小数点的位置小数点的位置小数点的位置1 1011小数点的位置小数点的位置小数点的位置小数点的位置整数整数纯小数纯小数 表示方法表示方法 公式公式(用于证明用于证明) 表示范围表示范围 零的表示零的表示 鲁东大学鲁东大学 LUDONG UNIVERSITY 数的表示(数的表示(II)-定点数表示定点数表示1.1.原码原码 表示方法表示方法 数学公式数学公式 表示范围表示范围 零的表示零的表示 表示方法表示方法W符号位符号位- -根据真值的根据真值的符号符号正号正号-0-0负号负号-1-1W数值位数值位- -真值

4、数值位的二进制形式真值数值位的二进制形式x = +1110 x原原 = 0 , 1110 x原原 = 1 , 1110 x = 1110整数整数- - 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开x = + 0.1101x原原 = 0 . 1101 x = 0.1101x原原 = 1 . 1101 纯小数纯小数- - 小数点小数点将符号位将符号位和数值位隔开和数值位隔开 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示1.1.原码原码 表示方法表示方法 数学定义数学定义 表示范围表示范围 零的表示零的表示 数学定义数学定义x = +11

5、10 x原原 = 0 , 1110 x原原 = 1 , 1110 x = 1110= 10000 + 1110= 1110=X= 24 + |X|= 24 - X整数整数x x 为真值为真值n n 为整数的位数为整数的位数x原原 = 0,x 2n x 02n x 0 x 2n(0(0和正整数和正整数) )(0(0和负整数和负整数) )X X的数值位位数的数值位位数 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示1.1.原码原码 表示方法表示方法 数学定义数学定义 表示范围表示范围 零的表示零的表示 x = + 0.1101x原原 = 0 .

6、 1101 x = 0.1101x原原 = 1 . 1101 = X= 1+0.1101=1+|X|=1- X纯小数纯小数 x 1 x 0 x原原 = 1 x 0 x 1x x 为真值为真值(0(0和正纯小数和正纯小数) )(0(0和负纯小数和负纯小数) ) 数学定义数学定义 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示1.1.原码原码 表示方法表示方法 数学定义数学定义 表示范围表示范围 零的表示零的表示 数学定义数学定义整数整数x x 为真值为真值n n 为整数的位数为整数的位数x原原 = 0,x 2n x 02n x 0 x 2n纯

7、小数纯小数 x 1 x 0 x原原 = 1 x 0 x 1x x 为真值为真值真值数值位为真值数值位为n n位位原码加原码加1 1位符号位,为位符号位,为n+1n+1位位 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示1.1.原码原码 表示方法表示方法 数学定义数学定义 表示范围表示范围 零的表示零的表示 表示范围表示范围 n+1n+1 位原码的表示范围位原码的表示范围S数值位数值位0n-1nn位位1位位正向最大数:正向最大数:011111111111111.1n个个1反向最大数:反向最大数:(最小的数)(最小的数)111111111111

8、111.1n个个1 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示1.1.原码原码 表示方法表示方法 数学定义数学定义 表示范围表示范围 零的表示零的表示 表示范围表示范围 n+1n+1 位原码的表示范围位原码的表示范围正向最大数:正向最大数:011111111111111.1n个个1最大整数最大整数:= 2n-11,000000000000n个个0-1整数整数反向最大数:反向最大数:(最小的数)(最小的数)111111111111111.1n个个1最小整数最小整数:(绝对值最大的负数)(绝对值最大的负数)= - ( 2n-1)-(1,00

9、0000000000n个个0-1)整数:整数: -(2-(2n n -1) 2 -1) 2n n -1 -1 鲁东大学鲁东大学 LUDONG UNIVERSITY1.1.原码原码 表示方法表示方法 数学定义数学定义 表示范围表示范围 零的表示零的表示 表示范围表示范围 n+1n+1 位原码的表示范围位原码的表示范围反向最大数:反向最大数:(最小的数)(最小的数)11111111111111111.1n个个1最小纯小数最小纯小数:(绝对值最大的负数)(绝对值最大的负数)-0.111111111111=-(1 0.000000000.1)小数点后第小数点后第n位上的一个位上的一个1=-(1- 2-

10、n)纯小数纯小数正向最大数:正向最大数:01111111111111111.1n个个1最大纯小数最大纯小数:0.111111111111=1 0.000000000.1小数点后第小数点后第n位上的一个位上的一个1= 1- 2-n纯小数:纯小数: - -(1-21-2-n-n) (1-21-2-n-n) 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示1.1.原码原码 表示方法表示方法 数学定义数学定义 表示范围表示范围 零的表示零的表示 表示范围表示范围 n+1n+1 位原码的表示范围位原码的表示范围整数:整数: -(2-(2n n -1)

11、2 -1) 2n n -1 -1纯小数:纯小数: - -(1-21-2-n-n) (1-21-2-n-n) e.g. 设原码长度为设原码长度为8位,则整数和位,则整数和小数的表示范围。小数的表示范围。整数:整数: -(27 7 -1 ) )27 7 -1 即即 -127127纯小数:纯小数:-(1-2-7) 1-2-7 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示1.1.原码原码 表示方法表示方法 数学定义数学定义 表示范围表示范围 零的表示零的表示 零的表示零的表示 例例 求求 x = 0 的原码的原码+ 0原原 = 0,0000 0原

12、原 = 1,0000 + 0原原 0原原 原码中零有两种表示形式原码中零有两种表示形式 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示1.1.原码原码 表示方法表示方法 数学定义数学定义 表示范围表示范围 零的表示零的表示 例:例: 已知已知 x = - 求求 x原原29128求真值的二进制表示求真值的二进制表示表示为原码形式表示为原码形式x = - 0.0011101x = 1.0011101 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示原码的特点:原码的特点: 简单、直观简单、直观

13、但是用原码做加法时,会出现如下问题:但是用原码做加法时,会出现如下问题:找到一个与负数等价的正数找到一个与负数等价的正数 来代替这个负数来代替这个负数就可使就可使 减减 加加 加法加法 正正 正正加加加法加法 正正 负负加法加法 负负 正正加法加法 负负 负负减减减减加加 要求要求 数数1 数数2 实际操作实际操作 结果符号结果符号正正可正可负可正可负可正可负可正可负负负绝对值运算绝对值运算;判断运算数的符号判断运算数的符号,决定加减决定加减判断运算数的大小判断运算数的大小,决定结果符号决定结果符号机器实现困难机器实现困难 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示

14、(II)-定点数表示定点数表示(1) (1) 补的概念补的概念2 2. . 补码表示法补码表示法起点起点,0点钟点钟到达到达,3 点钟点钟瞬时针瞬时针,走走3小时小时瞬时针瞬时针,走走9小时小时0-9 0+3减法用加法实现减法用加法实现3和和9互为模互为模12的补数的补数 减法可以用加上这个数的补数代替减法可以用加上这个数的补数代替 互为补数的两个数的绝对值的和等于模互为补数的两个数的绝对值的和等于模 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示2 2. . 补码表示法补码表示法(2) (2) 补码定义补码定义整数整数x 为真值为真值n

15、为整数的位数为整数的位数x补补 = 0,x 2n x 02n+1 + x 0 x 2n(mod 2n+1)小数小数x 为真值为真值x补补 = x 1 x 02 + x 0 x 1(mod 2)负数的补码,求基于模负数的补码,求基于模2n+1的补数的补数负小数的补码,求基于模负小数的补码,求基于模2的补数的补数 鲁东大学鲁东大学 LUDONG UNIVERSITY2 2. . 补码表示法补码表示法(3) (3) 求补码的方式求补码的方式= 10101 + 1 = 1,0110 又又x原原 = 1,1010= 11111 + 1 1010= 111111010= 100000= 1,0110则则x

16、补补 = 24+1 10101010+ 1设设 x = 1010 时时 正数的补码和原码相同正数的补码和原码相同 符号位为符号位为0,数值位同真,数值位同真值值 负数的补码与原码不同负数的补码与原码不同 原码的符号位不变,各数原码的符号位不变,各数值位求反,末位加值位求反,末位加1若已知一个数的补码,怎若已知一个数的补码,怎么求它的原码(真值)?么求它的原码(真值)?数的表示(数的表示(II)-定点数表示定点数表示= 1,1001 +1 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示2 2. . 补码表示法补码表示法(3) (3) 补码求原

17、码(真值)补码求原码(真值)x原原 = 1,1010则则x补补 = 1,0110设设 x = 1010 时时 正数的补码和原码相同正数的补码和原码相同 符号位为符号位为0,数值位同真,数值位同真值值 负数的补码原码不同负数的补码原码不同 补码的符号位不变,各位补码的符号位不变,各位求反,末位加求反,末位加1 鲁东大学鲁东大学 LUDONG UNIVERSITY数的表示(数的表示(II)-定点数表示定点数表示2 2. . 补码表示法补码表示法 例例 已知已知 x补补 = 1.0001求求 x例例 知知 x补补 = 0.0001求求 x例例 求求 x已知已知 x补补 = 1,1110 正数的补码等

18、于自身正数的补码等于自身 x补补= 0.0001负数的补码负数的补码 除符号位外,各位求反,末位加除符号位外,各位求反,末位加1就是原码就是原码 x原原 = 1.1111 x = - 0.1111同上,先求原码,再得到真值同上,先求原码,再得到真值 x原原 = 1,0010 x = - 0010 正数的原码、补码相同;正数的原码、补码相同; 负数的原码和补码之间的关系:负数的原码和补码之间的关系:Y 原码除符号位外,各位求反,原码除符号位外,各位求反, 末位加末位加1 1,得到补码;,得到补码;Y 补码除符号位外,各位求反,补码除符号位外,各位求反, 末位加末位加1 1,得到原码,得到原码真值

19、真值0, 10001100.11100.00000.00001.00000,10001100.11100.00001.0000不能表示不能表示练习练习: 求下列真值的补码求下列真值的补码x = + 70 x = 0.1110 x = 0.0000 x = 0.0000 x = 1.0000 1补补 = 2 + x = 10.0000 1.0000 = 1.0000+ 0补补 = 0补补由小数补码定义由小数补码定义 x补补 = x 1 x 02+ x 0 x 1(mod 2)= 1000110 x x 原原 x x 补补求二进制表示方式求二进制表示方式原码原码=+=+符号位符号位补码补码= =符

20、号位符号位+ +数值位数值位各位求反,末位加各位求反,末位加1 1整数:整数:-2n-12n-1-1整数:整数:-2n-1-12n-1-1小数:小数:-11-2-(n-1)小数:小数:- (1-2-(n-1) 1-2-(n-1)例例6.12 解:解:已知已知 y补补 求求 y补补 y补补 = 0. y1 y2 yny = 0. y1 y2 yny = 0. y1 y2 yn y补补 = 1.y1 y2 yn + 2-n y补补 = 1. y1 y2 yn y原原 = 1.y1 y2 yn + 2-n y = (0. y1 y2 yn + 2-n) y = 0. y1 y2 yn + 2-n y

21、补补 = 0. y1 y2 yn + 2-n设设 y补补 = y0. y1 y2 yn每位取反,每位取反,即得即得 y补补y补补连同符号位在内,连同符号位在内,末位加末位加 1每位取反,每位取反,即得即得 y补补y补补连同符号位在内,连同符号位在内,末位加末位加 1数的表示(数的表示(II)-定点数表示定点数表示3 3. . 反码表示法反码表示法(2) (2) 定义定义整数整数x反反 = 0,x 2n x 0( 2n+1 1) + x 0 x 2n(mod 2n+11)(1) (1) 反码的由来反码的由来除符号位外,各位求反除符号位外,各位求反末位加末位加1原码原码补码补码反码反码小数小数x反

22、反 = x 1 x 0( 2 2-n) + x 0 x 1(mod 2 2-n)(3) 举例举例例例 6.10 求求 0 的反码的反码设设 x = +0.0000 x = 0.0000+0.0000反反= 0.0000 0.0000反反= 1.1111 + 0反反 0反反 解:解:同理,对于整数同理,对于整数+0反反= 0,0000 0反反= 1,1111例例 9 已知已知 x反反 = 1,1110 求求 xx原原 =1,0001X = -0001例例 8 已知已知 x反反 = 0,1110 求求 x解:解:x = + 1110解:解:同位数反码和原码,表示范围相同同位数反码和原码,表示范围相

23、同三种机器数的小结三种机器数的小结 对于对于正数正数,原码原码 = = 补码补码 = = 反码反码 对于对于负数负数 ,符号位为,符号位为 1 1,其,其 数值部分数值部分原码除符号位外每位取反末位加原码除符号位外每位取反末位加 1 1 补码补码原码除符号位外每位取反原码除符号位外每位取反 反码反码 最高位最高位为为符号位符号位,书写上用,书写上用“,”“,”(整数)(整数)或或“.”“.”(小数)将数值部分和符号位隔开(小数)将数值部分和符号位隔开例例6.11 设机器数字长为设机器数字长为 8 位(其中一位为符号位)位(其中一位为符号位)对于整数,当其分别代表无符号数、原码、补码和对于整数,

24、当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?反码时,对应的真值范围各为多少?Y无符号数无符号数: : 0 20 2n n-1-1Y原码原码: -: -( 2 2(n-1n-1)-1 -1 ) 2 2(n-1n-1) -1-1Y反码反码: -: -( 2 2(n-1n-1) -1 -1 ) 2 2(n-1n-1) -1-1Y补码补码: -2: -2(n-1n-1) 2 2(n-1n-1) -1-1三种机器数的表示范围小结三种机器数的表示范围小结4. 移码表示法移码表示法补码表示很难直接判断其真值大小补码表示很难直接判断其真值大小如如十进制十进制x = +21x = 21x

温馨提示

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

最新文档

评论

0/150

提交评论