




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安电子科技大学计算机学院计算机组成与体系结构第2章 计算机系统中的数据表示2n计算机可以表示的数据:计算机可以表示的数据:lbitlbytelwordn计算机中需要表示、处理的数据:计算机中需要表示、处理的数据:l指令指令l正数、负数,整数、小数、实数正数、负数,整数、小数、实数l文字、字符,声音、图像、视频文字、字符,声音、图像、视频n其它需要解决的问题:其它需要解决的问题:l能表示的最大数是多少?能表示的最大数是多少?l某一操作产生的结果超出了该数据的表示范围,某一操作产生的结果超出了该数据的表示范围,如何处理?如何处理?3第第2章章 计算机系统中的数据表示计算机系统中的数据表示n数据编
2、码数据编码l数值数据的数值数据的编码编码l数据的数据的定点定点与与浮点浮点表示表示l十进制数据:十进制数据:BCD码码n非数值数据的编码非数值数据的编码lASCII码码l汉字编码汉字编码n检错与纠错码检错与纠错码l奇偶校验码奇偶校验码l海明码海明码l循环冗余校验码循环冗余校验码西安电子科技大学计算机学院计算机组成与体系结构第2章 计算机系统中的数据表示2.0 数据表示数据表示5数据表示数据表示n定义定义:机器硬件能:机器硬件能直接识别和引用直接识别和引用的的数据类型数据类型。n条件条件:相应的:相应的运算指令运算指令和和运算硬件运算硬件( (处理部件处理部件) )。n目标目标:l缩小高级语言和
3、机器语言间的缩小高级语言和机器语言间的语义差别语义差别l提高提高性能性能/价格价格l节省处理节省处理时间时间和存储和存储空间空间n实现实现:最小的存储空间、最简单的存取算法。:最小的存储空间、最简单的存取算法。6数据表示数据表示与与数据结构数据结构n数据表示数据表示:指的是能由机器硬件直接识别和引用:指的是能由机器硬件直接识别和引用的数据类型。的数据类型。由硬件实现的数据类型由硬件实现的数据类型n数据结构数据结构:面向计算机系统软件、面向应用领域:面向计算机系统软件、面向应用领域所需处理的数据类型。所需处理的数据类型。由软件实现的数据类型由软件实现的数据类型。l目标目标:最大限度满足应用要求、
4、最简化的方法:最大限度满足应用要求、最简化的方法实现。实现。l实现实现:通过数据表示和软件映象相结合方法实:通过数据表示和软件映象相结合方法实现。现。n数据表示是数据类型的子集。数据表示是数据类型的子集。n数据表示的确定实质上是软、硬件的取舍问题。数据表示的确定实质上是软、硬件的取舍问题。n数据结构和数据表示是软、硬件的界面。数据结构和数据表示是软、硬件的界面。西安电子科技大学计算机学院计算机组成与体系结构第2章 计算机系统中的数据表示2.1 数据编码数据编码8n编码编码:采用少量的:采用少量的基本符号基本符号,选用一定的,选用一定的组合原组合原则则,以表示大量复杂多样的信息。,以表示大量复杂
5、多样的信息。 l数值数值信息信息l非数值非数值信息信息9一、数值数据的编码一、数值数据的编码n计算机内部的数据若有计算机内部的数据若有确定的值确定的值,即在,即在数轴数轴上能上能找到其对应的点,则称为找到其对应的点,则称为数值数据数值数据。n数值数据数值数据是表示是表示数量多少数量多少和和数值大小数值大小的数据。的数据。10一、数值数据的编码一、数值数据的编码一般地,一个包含一般地,一个包含n位整数、位整数、m位小数的二进制数位小数的二进制数B可可写作写作:Bbn-1bn-2b1b0 . b-1b-2b-m (m、n为正整数)为正整数)其代表的数值为:其代表的数值为:V(B)bn-12n-1b
6、n-22n-2b121b020 b-12-1b-22-2b-m2-m 式中,式中,bi(in-1、n-2、1、0、-1、-2、-m)只能是)只能是0或或1。11一、数值数据的编码一、数值数据的编码【例例】将二进制数将二进制数(11001.01)2、八进制数、八进制数(216.3)8、十、十六进制数六进制数(7A.C)16转换成十进制数。转换成十进制数。【解解】 “按权展开按权展开” (11001.01)2(12412302202112002-112-2)10(25.25)10(216.3)8(28218168038-1)10(142.375)10(7A.C)16(7161101601216-1
7、)10(122.75)1012一、数值数据的编码一、数值数据的编码【例例】将十进制数将十进制数730.8125转换成二进制数、八进制转换成二进制数、八进制数。数。【解解】 整数部分的转换整数部分的转换 小数部分的转换小数部分的转换13一、数值数据的编码一、数值数据的编码【例例】将十进制数将十进制数730.8125转换成二进制数、八进制转换成二进制数、八进制数。数。【解解】 整数部分的转换:整数部分的转换:“除基取余,先低后高除基取余,先低后高”因此,因此,(730)10(1332)814一、数值数据的编码一、数值数据的编码因此,因此,(730)10(1011011010)215一、数值数据的编
8、码一、数值数据的编码【例例】将十进制数将十进制数730.8125转换成二进制数、八进制转换成二进制数、八进制数。数。【解解】 小数部分的转换:小数部分的转换:“乘基取整,先高后低乘基取整,先高后低”将十进制数将十进制数(0.8125)10转换为八进制数:转换为八进制数:0.812586.5整数部分整数部分6(高位)(高位)0.584.0整数部分整数部分4(低位)(低位)因此,因此,(0.8125)10(0.64)8 (730.8125)10(1332.64)816一、数值数据的编码一、数值数据的编码【例例】将十进制数将十进制数730.8125转换成二进制数、八进制转换成二进制数、八进制数。数。
9、【解解】 小数部分的转换:小数部分的转换:“乘基取整,先高后低乘基取整,先高后低”将十进制数将十进制数(0.8125)10转换为二进制数:转换为二进制数:0.812521.625整数部分整数部分1(高位)(高位)0.62521.25整数部分整数部分10.2520.5整数部分整数部分00.521.0整数部分整数部分1(低位)(低位)因此,因此,(0.8125)10(0.1101)2 (730.8125)10(1011011010.1101)2 17一、数值数据的编码一、数值数据的编码XsXn-2X1X0小数点位置小数点位置数值位数值位符号位符号位带符号定点整数格式带符号定点整数格式XsX-1X-
10、2X-(n-1)小数点位置小数点位置符号位符号位数值位数值位带符号定点小数格式带符号定点小数格式18一、数值数据的编码一、数值数据的编码 1. 原码表示原码表示n原码(原码(True form):): “符号数值符号数值”表示法,表示法,符号位绝对值的真值符号位绝对值的真值n定点小数的原码定义:定点小数的原码定义:n定点整数原码的定义:定点整数原码的定义: 0X11X原原011XXXX 0XX111122022nnnnXXXX原原19一、数值数据的编码一、数值数据的编码 1. 原码表示原码表示【例例】若机器字长若机器字长n8,则,则35原原 (00100011)235原原 27(35) (10
11、000000)2(00100011)2 (10100011)20.8125原原(0.1101000)20.8125原原1(0.8125)(1.0000000)2(0.1101000)2(1.1101000)220一、数值数据的编码一、数值数据的编码 1. 原码表示原码表示【例例】若机器字长若机器字长n8,则,则35原原 (00100011)235原原 27(35) (10000000)2(00100011)2 (10100011)20.8125原原(0.1101000)20.8125原原1(0.8125)(1.0000000)2(0.1101000)2(1.1101000)221一、数值数据的
12、编码一、数值数据的编码 1. 原码表示原码表示原码原码的的性质性质:n带符号的绝对值表示,带符号的绝对值表示,符号位符号位为为“0”表示该数为表示该数为正,符号位为正,符号位为“1”表示该数为负。表示该数为负。n“0”不惟一。不惟一。n表示表示范围范围(机器字长为(机器字长为n):):l定点小数:定点小数:(12-(n-1)(12-(n-1)l定点整数:定点整数:(2n-11)(2n-11) n若字长为若字长为n,总共有,总共有2n个个码点码点,但对应的真值只有,但对应的真值只有2n1个个。n负数的原码大于正数的原码。负数的原码大于正数的原码。n真值与原码之间的真值与原码之间的转换转换:22一
13、、数值数据的编码一、数值数据的编码 1. 原码表示原码表示原码原码的的优缺点优缺点:n优点:优点:l简单、直观,机器数和真值间的相互转换很容简单、直观,机器数和真值间的相互转换很容易。易。l实现乘、除运算的规则简单。实现乘、除运算的规则简单。n缺点:实现加、减运算的规则较复杂。缺点:实现加、减运算的规则较复杂。23一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示n无模运算:在无模运算:在实数实数范围内进行的运算。范围内进行的运算。n有模运算:在有模运算:在一定数值一定数值范围内范围内进行的运算。进行的运算。l在有模运算中,若在有模运算中,若A、B、M满足如下关系:满足如下关系:AB
14、KM(K为整数),为整数),则记为则记为AB(MOD M),),即即A、B各除以各除以M后的余数相同,后的余数相同,称称B和和A为模为模M同余同余。l在一个有模运算系统中,一个数与它除以模后在一个有模运算系统中,一个数与它除以模后得到的余数是等价的。得到的余数是等价的。l对于某一确定的模,某数对于某一确定的模,某数减去减去小于模的另一数,小于模的另一数,总可以用该数总可以用该数加上加上模与另一数绝对值之差来代模与另一数绝对值之差来代替。替。 补码补码可以可以用加法实现减法运算用加法实现减法运算。(1)补码概念的引入)补码概念的引入24一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示
15、n无模运算无模运算n有模运算有模运算(1)补码概念的引入)补码概念的引入12123456789101125一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示n无模运算无模运算n有模运算有模运算结论:结论:l假定假定M为模,若数为模,若数a、b满足满足abM,则称则称a、b互为互为补数补数。l在有模运算中,在有模运算中,减减去一个数等于去一个数等于加加上这个数上这个数对对模的补数模的补数。(1)补码概念的引入)补码概念的引入26一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示n无模运算无模运算n有模运算有模运算(1)补码概念的引入)补码概念的引入27一、数值数据的编码一、数
16、值数据的编码 2. 补码表示补码表示设模为设模为M,一个数,一个数 X 补码的一般定义为:补码的一般定义为: X 补补MXn若若 X 0 , 则 模, 则 模 M 作 为 超 出 部 分 被 舍 去 ,作 为 超 出 部 分 被 舍 去 , X 补补X,因而正数的补码就是其本身;,因而正数的补码就是其本身;n若若 X 0 ,则,则 X 补补就是以就是以 M 为模的为模的补数补数。(2)补码的定义)补码的定义28一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(2)补码的定义)补码的定义n定点定点小数小数的补码定义:的补码定义:n定点定点整数整数的补码定义:的补码定义: 2MOD01
17、1022 XXXXXXX原原补补 nnnnnXXXXXXX2MOD02202211 原原补补29一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(2)补码的定义)补码的定义【例例】若机器字长若机器字长n8,求求定点整数定点整数 0、1、128 的补码表示。的补码表示。30一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(2)补码的定义)补码的定义【例例】若机器字长若机器字长n8,则,则35补补35补补0.8125补补0.8125补补20121222423824162532266427128282562951221010242-10.52-20.252-30.1252-4
18、0.06252-50.0312531一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质(以定点小数为例)(以定点小数为例)1)补码的)补码的符号位符号位用补码表示的数,若其最高位为用补码表示的数,若其最高位为“0”,则此数为则此数为正正;若其最高位为若其最高位为“1”,则此数为则此数为负负。 证明:证明:当当0X1时,时,X补补X,因此有,因此有0X补补1当当1X0时,时,X补补2X,因此有,因此有1X补补2 32一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质2)补码中)补码中0的表示:的表示:由补码定义,由补码定
19、义,0补补0, 0的补码是惟一的。的补码是惟一的。补码定义补码定义33一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质3)补码的)补码的表示范围表示范围:假设机器字长为假设机器字长为n,则,则用补码表示的用补码表示的定点小数定点小数,其表示范围为:,其表示范围为:1X(12-(n-1);用补码表示的用补码表示的定点整数定点整数,其表示范围为:,其表示范围为:2n-1X(2n-11)。 比原码多表示一个数。比原码多表示一个数。补码定义补码定义34一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质4)负数的补码值大于正数
20、的补码值)负数的补码值大于正数的补码值35一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质5)补码与真值、原码之间的相互转换)补码与真值、原码之间的相互转换当当X0时,时,XX原原X补补真值真值 X X 补补 X 原原 0数值位不变数值位不变36一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质5)补码与真值、原码之间的相互转换)补码与真值、原码之间的相互转换当当X0时,时,假设机器字长为假设机器字长为n,由定义得:,由定义得: 末位加一末位加一个个按位取反按位取反个个个个个个补补1000. 0111. 11000.
21、 0111. 12011011 nXnnnXXXX37一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质5)补码与真值、原码之间的相互转换)补码与真值、原码之间的相互转换当当X0时,时,假设机器字长为假设机器字长为n,由定义由定义 X 补补2X 得:得:X2X 补补,又因为:又因为:X| X |,因此,因此 末位加一末位加一个个按位取反按位取反补补个个补补补补1000. 0111. 12011 nXnXXXX38一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质5)补码与真值、原码之间的相互转换)补码与真值、原码之间的
22、相互转换结论:当结论:当X0时,时,真值真值 X X 补补 1数值按位取反,末位加数值按位取反,末位加1 X 补补数值按位取反,末位加数值按位取反,末位加1 X 原原符号位符号位1不变不变39一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质5)补码与真值、原码之间的相互转换)补码与真值、原码之间的相互转换“按位取反,末位加一按位取反,末位加一”:数值部分自低位向高位搜索,第一个数值部分自低位向高位搜索,第一个1及其以右的各及其以右的各位位0保持不变,以左的各高位按位取反。保持不变,以左的各高位按位取反。40一、数值数据的编码一、数值数据的编码 2. 补码
23、表示补码表示(3)补码的)补码的性质性质5)补码与真值、原码之间的相互转换)补码与真值、原码之间的相互转换【例例】假设机器字长假设机器字长n8,已知,已知X10.1011001,X20,X30.1101100,求其原码及补码。,求其原码及补码。41一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质5)补码与真值、原码之间的相互转换)补码与真值、原码之间的相互转换【例例】已知已知 X1补补0.1010110,X2补补1.1100101,X3补补1.0000000,求其真值及原码。,求其真值及原码。42一、数值数据的编码一、数值数据的编码 2. 补码表示补码表
24、示(3)补码的)补码的性质性质6)补码的符号位扩展)补码的符号位扩展n定点小数:在其低位填充适当位数的定点小数:在其低位填充适当位数的“0”n定点整数:符号位扩展定点整数:符号位扩展43一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质6)补码的符号位扩展)补码的符号位扩展【例例】已知定点小数已知定点小数X1、X2用用8位表示的补码如下:位表示的补码如下:X1补补0.1010110,X2补补1.1100101。现要将现要将X1补补、X2补补扩展为扩展为16位表示,求位表示,求16位表示的位表示的X1补补、X2补补。【解解】X1补补0.1010110 000
25、00000X2补补1.1100101 00000000结论结论1:要将:要将n位纯小数补码变为位纯小数补码变为2n位,位,只需在末尾添加只需在末尾添加n个个“0”即即可。可。44一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质6)补码的符号位扩展)补码的符号位扩展要将要将n位位定点整数定点整数补码用补码用2n位位表示,如何处理?表示,如何处理?即:即:如何将如何将MOD 2n的补码变成的补码变成MOD 22n的补码。的补码。推导过程:推导过程:用用MOD 2nX补补表示表示X以以2n为模的补码,为模的补码,用用MOD 22nX补补表示表示X以以22n为模
26、的补码。为模的补码。nnnnnXXXXX2MOD022202MOD11 补补nnnnnXXXXX21221222MOD022202MOD 补补45一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质6)补码的符号位扩展)补码的符号位扩展要将要将n位位定点整数定点整数补码用补码用2n位位表示,如何处理?表示,如何处理?当当X0时,时,补补个个补补个个补补补补2MOD0002MOD0002MOD2MOD0022XXXXXnnnnnn 46一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质6)补码的符号位扩展)补码的符号位扩展
27、要将要将n位位定点整数定点整数补码用补码用2n位位表示,如何处理?表示,如何处理?当当X0时,时,补补个个补补个个个个补补个个个个补补补补2MOD11112MOD00011112MOD00010001)2MOD2(222MOD1n0n1n0n02222XXXXXXnnnnnnnnn 47一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质6)补码的符号位扩展)补码的符号位扩展要将要将n位位定点整数定点整数补码用补码用2n位位表示,如何处理?表示,如何处理?综合综合X0、X0时的情况,时的情况,其中,其中,XS为为2nX补补的符号位。的符号位。补补个个补补2M
28、OD2MODn2XXXXXnSSSn 结论结论2:将整数补码的模扩大将整数补码的模扩大2n倍,只需将倍,只需将X补补的符号位向左复制的符号位向左复制n位即可。位即可。48一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质6)补码的符号位扩展)补码的符号位扩展要将要将n位位定点整数定点整数补码用补码用2n位位表示,如何处理?表示,如何处理?【例例】已知定点整数已知定点整数X1、X2用用8位表示的补码如下:位表示的补码如下:X1补补01010110,X2补补11100101。将将X1补补、X2补补扩展为扩展为16位表示。位表示。【解解】16位表示的位表示的X1
29、补补、X2补补如下:如下:X1补补00000000 01010110X2补补11111111 1110010149一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质7)补码的算数右移(除)补码的算数右移(除2运算)运算)某一个数的补码经算数右移某一个数的补码经算数右移1位后,其最低有效位被位后,其最低有效位被移出,最高位(符号位)如何处理?移出,最高位(符号位)如何处理?已知已知 ,求,求 。补补X补补21X,补补XX 补补补补补补21202121210XXXX ,补补XX 2补补则则2XX 补补补补补补补补2121211)2(212212210XXXXX
30、 当当X0时,时,当当X0时,时,两式合并:两式合并:以以定点小数定点小数为例为例50一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质7)补码的算数右移(除)补码的算数右移(除2运算)运算)某一个数的补码经算数右移某一个数的补码经算数右移1位后,其最低有效位被位后,其最低有效位被移出,最高位(符号位)如何处理?移出,最高位(符号位)如何处理?已知已知 ,求,求 。结论:结论:补补X补补21X两式合并:两式合并:补补补补212210XXXS 符号位不变符号位不变按位右移一位按位右移一位补补 X21补补X以以定点小数定点小数为例为例51一、数值数据的编码一、
31、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质7)补码的算数右移(除)补码的算数右移(除2运算)运算)【例例】已知已知 X1补补0.1101010,X2补补1.0100110,X3补补1.0000000,求:,求: 补补121X 补补221X 补补321X0.01101011.10100111.100000052一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质8)补码的算数左移(乘)补码的算数左移(乘2运算)运算)算术左移可能产生溢出。因此,需增加一位二进制算术左移可能产生溢出。因此,需增加一位二进制位,或者说将模扩大一倍。位,或者说
32、将模扩大一倍。由由X 补补求求2X 补补:X 补补2XMOD 22X 补补42XMOD 42X 补补42X42(2X 补补)2X 补补结论:结论:已知已知X 补补求求2X 补补只需将只需将X 补补的的各位左各位左移一位移一位,末位补末位补0。53一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质8)补码的算数左移(乘)补码的算数左移(乘2运算)运算)【例例】假设机器字长假设机器字长n8,已知,已知X1补补0.0110100,X2补补1.0010110,求,求2X1补补、2X2补补。【解解】2X1补补00.11010000.1101000未溢出未溢出2X2补
33、补10.01011000.0101100溢出溢出 54一、数值数据的编码一、数值数据的编码 2. 补码表示补码表示(3)补码的)补码的性质性质8)补码的算数左移(乘)补码的算数左移(乘2运算)运算)n变形补码变形补码:采用采用双符号位双符号位。左符是真正的符号位,。左符是真正的符号位,右符用来判别右符用来判别“溢出溢出”。n当使用变形补码(双符号位)进行运算时,当使用变形补码(双符号位)进行运算时,l若运算结果的若运算结果的两个符号位两个符号位相同相同,则不发生溢出;,则不发生溢出;l若运算结果的若运算结果的两个符号位两个符号位相异相异,则结果溢出。,则结果溢出。此时,最高位为符号;次高位为溢
34、出的数值而此时,最高位为符号;次高位为溢出的数值而非符号。非符号。55一、数值数据的编码一、数值数据的编码 3. 反码表示反码表示56一、数值数据的编码一、数值数据的编码 3. 反码表示反码表示n设机器字长为设机器字长为n位,定点位,定点小数小数的的反码反码定义:定义:n设机器字长为设机器字长为n位,定点位,定点整数整数的的反码反码定义:定义:)22(01)22(10)1()1( nnMODXXXXX反反)12(02)12(2011 nnnnMODXXXXX反反X反反2-2-(n-1)X01-111-2-(n-1)X反反2-2-(n-1)X0-(1-2-(n-1)1(1-2-(n-1)1-2-
35、(n-1)57一、数值数据的编码一、数值数据的编码 3. 反码表示反码表示【例例】若机器字长若机器字长n8,则,则35反反(00100011)235反反(281)(35) (11111111)2(00100011)2 (11011100)20.8125反反(0.1101000)20.8125反反(22-7)(0.8125)(1.1111111)2(0.1101000)2(1.0010111)258一、数值数据的编码一、数值数据的编码 3. 反码表示反码表示反码的反码的性质性质:n最高位为符号位,最高位为符号位,0表示正,表示正,1表示负。表示负。n两种两种0的表示:的表示:0反反000,0反反
36、111n表数范围(表数范围(假设机器字长为假设机器字长为n):):l定点小数:定点小数:(12-(n-1)(12-(n-1)l定点整数:定点整数:(2n-11)(2n-11)n负数的反码大于正数的反码负数的反码大于正数的反码n反码与原码及真值之间的转换:反码与原码及真值之间的转换:l当当X0时,由定义:时,由定义:X反反X原原Xl当当X0时,时,59一、数值数据的编码一、数值数据的编码 3. 反码表示反码表示反码的反码的性质性质:n反码与原码及真值之间的转换:反码与原码及真值之间的转换:l当当X0时,由定义:时,由定义:X反反X原原Xl当当X0时,时,真值真值XX原原 1数值位不变数值位不变X
37、反反数值位按位取反数值位按位取反符号位不变符号位不变60一、数值数据的编码一、数值数据的编码 4. 移码表示移码表示61一、数值数据的编码一、数值数据的编码 4. 移码表示移码表示n计算机中常用计算机中常用移码移码来表示来表示浮点数浮点数的的阶码阶码 整数整数n机器字长为机器字长为n位,则移码定义:位,则移码定义:X移移2n-1X,其中其中:2n-1X2n-162一、数值数据的编码一、数值数据的编码 4. 移码表示移码表示定点整数定点整数X与与X原原 、X补补 、X移移的对应关系(机器字长的对应关系(机器字长n8) 真值真值XX的原码的原码表示表示X原原X的补码的补码表示表示X补补X的反码的反
38、码表示表示X反反X的移码的移码表示表示X移移十进制十进制表示表示二进制表示二进制表示127011111110111111101111111011111110111111101111111011111110111111111111111111111111260111111001111110011111100111111001111110011111100111111001111110111111101111111020000001000000010000000100000001000000010000000100000001000000010100000101000001010000000100
39、00000100000001000000010000000100000001000000010000000110000001100000010 000000000000000000000000000000001000000010000000000000000000000000000000000000001111111111111111100000001000000010000000100000001100000011000000111111111111111111111111011111110011111110111111120000001000000010100000101000001011
40、111110111111101111110111111101011111100111111012601111110011111101111111011111110100000101000001010000001100000010000001000000010127011111110111111111111111111111111000000110000001100000001000000000000001000000011281000000010000000无法表示无法表示1000000010000000无法表示无法表示000000000000000063一、数值数据的编码一、数值数据的编码
41、4. 移码表示移码表示表表2.1 8位不同编码对应的真值范围位不同编码对应的真值范围二进制二进制代码代码无符号数无符号数对应的真值对应的真值原码原码对应的真值对应的真值补码补码对应的真值对应的真值反码反码对应的真值对应的真值移码移码对应的真值对应的真值000000000000000000001280000000100000001111112700000010000000102222126011111100111111012612612612620111111101111111127127127127110000000100000001280128127010000001100000011291
42、127126110000010100000101302126125211111101111111012531253212511111110111111102541262112611111111111111112551271012764一、数值数据的编码一、数值数据的编码 4. 移码表示移码表示移码的移码的性质性质:n符号位:符号位:“0”表示表示负,负,“1”表示表示正。正。当当2n-1X0时,时,0X移移2n-1,即符号位为,即符号位为0当当0X2n-1时,时,2n-1X移移2n,即符号位为,即符号位为1n“0”的的移码表示是惟一的。移码表示是惟一的。n表示范围:表示范围: n位机器字长,位
43、机器字长,2n-1X2n-1nX移移与与X呈线性正比关系。呈线性正比关系。l当且仅当当且仅当XY,X移移Y移移l移码被广泛用来表示浮点数的移码被广泛用来表示浮点数的阶阶 0110001020个个移移 nn2n-1 0 2n-12n-12nX移移X65一、数值数据的编码一、数值数据的编码 4. 移码表示移码表示移码的移码的性质性质:n移码与补码的关系(移码与补码的关系(假设机器字长为假设机器字长为n位位)111222 nnnXXX移移 nnnnXXXXX2MOD0220211 补补移移移移补补2)2(2211XXXXnnnn 当当X0时,时,补补移移2211XXXnn 当当X0时,时,X 补补X
44、 移移符号位取反符号位取反结论:结论:66一、数值数据的编码一、数值数据的编码 4. 移码表示移码表示【例例】假设机器字长假设机器字长n8,已知,已知X1101011,X2110010,求其原码、补码和移码。求其原码、补码和移码。【解解】X1原原00101011X1补补00101011X1移移10101011 X2原原10110010X2补补11001110X2移移01001110001010110010101110101011 10110010110011100100111067二、数据的二、数据的定点定点与与浮点浮点表示表示选择数的表示方式时需要考虑的因素:选择数的表示方式时需要考虑的因素
45、:n数的类型数的类型n数值范围数值范围n表示精度表示精度n存储、处理所需要的硬件代价存储、处理所需要的硬件代价1. 定点数表示定点数表示2. 浮点数表示浮点数表示68二、数据的二、数据的定点定点与与浮点浮点表示表示 1. 定点数表示定点数表示n定点数:小数点位置固定不变的数。定点数:小数点位置固定不变的数。l定点整数定点整数l定点小数定点小数n溢出处理:将溢出处理:将CPU中中状态寄存器状态寄存器的的溢出标志位溢出标志位置置位,转入位,转入溢出处理程序溢出处理程序进行相应的处理。进行相应的处理。69二、数据的二、数据的定点定点与与浮点浮点表示表示 1. 定点数表示定点数表示n有符号定点整数:(
46、机器字长有符号定点整数:(机器字长n位)位)l原码表示范围:原码表示范围:(2n-11) (2n-11)l补码表示范围:补码表示范围:2n-1 (2n-11)XSXn-2X1X0小数点小数点符号符号数值数值70二、数据的二、数据的定点定点与与浮点浮点表示表示 1. 定点数表示定点数表示n无符号定点整数:(机器字长无符号定点整数:(机器字长n位)位)l表示范围:表示范围:0 2n1Xn-1Xn-2X1X0小数点小数点数值数值71二、数据的二、数据的定点定点与与浮点浮点表示表示 1. 定点数表示定点数表示n定点小数:(机器字长定点小数:(机器字长n位)位)l原码表示范围原码表示范围:(1-2-(n
47、-1) (1-2-(n-1)l补码表示范围:补码表示范围:1 (1-2-(n-1)l分辨率分辨率( (最小变化单位最小变化单位) ):2-(n-1)XSX-1X-2X-(n-1)小数点小数点符号符号数值数值72二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示电子的质量电子的质量9.109 3810-31公斤公斤太阳的质量太阳的质量1.988 921030公斤公斤731纳秒纳秒1.010-9秒秒1世纪世纪3.155 76109秒秒二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示74二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点
48、数浮点数表示表示n有限位的整数:有限位的整数:l表示的数值范围小表示的数值范围小l运算过程很容易发生溢出运算过程很容易发生溢出n科学计数法:科学计数法:l动态地移动十进制小数点到一个约定的位置,动态地移动十进制小数点到一个约定的位置,并使用并使用10的指数来记录此小数点的位置的指数来记录此小数点的位置l既可以表示整数,又可以表示小数既可以表示整数,又可以表示小数l可表示的数值范围很大可表示的数值范围很大l规格化的数字规格化的数字75二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示n浮点数表示的数值为浮点数表示的数值为:(1)MsMBE nB:阶码的底:阶码的底( (
49、Base) ),一般为一般为2、4、8 或或 16。n规格化的浮点数规格化的浮点数 1)浮点数的表示方法)浮点数的表示方法M-1M-(m-1)E0El-2ESMS尾数尾数( (数值部分数值部分) )阶码阶码( (数值部分数值部分) )阶符阶符数符数符阶码阶码E(共(共l 位)位)小数点小数点尾数尾数M(共(共m位)位)精度精度 表示范围表示范围76二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示n如果阶码的底为如果阶码的底为2,则规格化浮点数的尾数应满足,则规格化浮点数的尾数应满足条件:条件:1/2|M|1n当尾数用当尾数用补码补码表示时表示时l若尾数若尾数M0,由
50、于由于1/2补补0.10000,尾数应具有格式:尾数应具有格式:M0.1xxxx当当M0时,时,1/2补补M补补1补补l若尾数若尾数M0,由于由于-1/2补补1.10000,-1补补1.0000,为了使计算机判断方便,一般不把为了使计算机判断方便,一般不把-1/2补补列为列为规格化的数,而把规格化的数,而把-1补补列为规格化的数,列为规格化的数,尾数应具有格式:尾数应具有格式:M1.0 xxxx当当M0时,时,-1补补M补补-1/2补补2)规格化规格化的浮点数的浮点数 什么是规格化的浮点数?什么是规格化的浮点数?77二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示n
51、如果阶码的底为如果阶码的底为2,则规格化浮点数的尾数应满足,则规格化浮点数的尾数应满足条件:条件:1/2|M|1n当尾数用当尾数用补码补码表示时表示时l若尾数若尾数M0,由于,由于1/2补补0.10000,尾数应具有格式:尾数应具有格式:M0.1xxxx当当M0时,时,1/2补补M补补1补补l若尾数若尾数M0,由于由于-1/2补补1.10000,-1补补1.0000,为了使计算机判断方便,一般不把为了使计算机判断方便,一般不把-1/2补补列为列为规格化的数,而把规格化的数,而把-1补补列为规格化的数,列为规格化的数,尾数应具有格式:尾数应具有格式:M1.0 xxxx当当M0时,时,-1补补M补
52、补-1/2补补2)规格化规格化的浮点数的浮点数 什么是规格化的浮点数?什么是规格化的浮点数?78二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示n如果阶码的底为如果阶码的底为2,则规格化浮点数的尾数应满足,则规格化浮点数的尾数应满足条件:条件:1/2|M|1n当尾数用当尾数用补码补码表示时表示时l若尾数若尾数M0,由于,由于1/2补补0.10000,尾数应具有格式:尾数应具有格式:M0.1xxxx当当M0时,时,1/2补补M补补1补补l若尾数若尾数M0,由于由于-1/2补补1.10000,-1补补1.0000,为了使计算机判断方便,一般不把为了使计算机判断方便,一般
53、不把-1/2补补列为列为规格化的数,而把规格化的数,而把-1补补列为规格化的数,列为规格化的数,尾数应具有格式:尾数应具有格式:M1.0 xxxx当当M0时,时,-1补补M补补-1/2补补2)规格化规格化的浮点数的浮点数 什么是规格化的浮点数?什么是规格化的浮点数?79二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示n如果阶码的底为如果阶码的底为2,则规格化浮点数的尾数应满足,则规格化浮点数的尾数应满足条件:条件:1/2|M|1n当尾数用当尾数用补码补码表示时表示时l若尾数若尾数M0,由于,由于1/2补补0.10000,尾数应具有格式:尾数应具有格式:M0.1xxx
54、x当当M0时,时,1/2补补M补补1补补l若尾数若尾数M0,由于由于-1/2补补1.10000,-1补补1.0000,为了使计算机判断方便,一般不把为了使计算机判断方便,一般不把-1/2补补列为列为规格化的数,而把规格化的数,而把-1补补列为规格化的数,列为规格化的数,尾数应具有格式:尾数应具有格式:M1.0 xxxx当当M0时,时,-1补补M补补-1/2补补2)规格化规格化的浮点数的浮点数异或逻辑异或逻辑 什么是规格化的浮点数?什么是规格化的浮点数?80二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示n左规左规:若采用:若采用变形补码变形补码表示尾数,则当结果的尾
55、表示尾数,则当结果的尾数出现数出现11.1xxxx或或00.0 xxxx的形式时,需将尾的形式时,需将尾数数左左移移1位,阶码位,阶码减减1,直到尾数为,直到尾数为规格化规格化形式为形式为止。止。n右规右规:当浮点运算结果的尾数出现:当浮点运算结果的尾数出现01.xxxx或或10.xxxx的形式时,并不一定溢出,应先将尾数的形式时,并不一定溢出,应先将尾数右右移移1位,阶码位,阶码加加1,然后判断阶码,然后判断阶码是否溢出是否溢出。2)规格化规格化的浮点数的浮点数 什么是规格化的浮点数?什么是规格化的浮点数?81二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示【例例
56、1】将十进制数将十进制数173507转换为下述转换为下述IBM370的短的短浮点数格式(浮点数格式(32位)。位)。尾数尾数M:6位位十六进制十六进制原码原码表示;尾数的基数表示;尾数的基数B16,阶码加阶码加1(或减(或减1)相当于尾数右移(或左移)相当于尾数右移(或左移)4位。位。阶码阶码E:7位位移码移码表示,偏置常数为表示,偏置常数为(1000000)2。数符数符S2)规格化规格化的浮点数的浮点数313024 230S指数指数( (阶码阶码E) )尾数尾数M1位位7位位24位位 什么是规格化的浮点数?什么是规格化的浮点数?82二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点
57、数浮点数表示表示【例例1】将十进制数将十进制数173507转换为下述转换为下述IBM370的短的短浮点数格式(浮点数格式(32位)。位)。【解解】(173507)10(2A5C3)16(0.2A5C30)16165所以数符所以数符S0,阶码,阶码E(645)10(1000101)2因此因此(173507)2的的IBM370的短浮点数格式为:的短浮点数格式为:2)规格化规格化的浮点数的浮点数313024 230010001010010 1010 0101 1100 0011 00001位位7位位24位位313024 230S指数指数( (阶码阶码E) )尾数尾数M1位位7位位24位位 什么是规格
58、化的浮点数?什么是规格化的浮点数?83二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示【例例2】将十进制数将十进制数173507转换为下述典型的转换为下述典型的32位浮位浮点数格式。点数格式。尾数尾数M:24位位二进制二进制原码原码表示;规格化尾数的第一表示;规格化尾数的第一位总是位总是1,无需保存,无需保存( (用用23位尾数表示位尾数表示24位数据位数据) );尾数的基数尾数的基数B2。阶码阶码E:8位移码表示,偏置常数为位移码表示,偏置常数为(10000000)2。数符数符S2)规格化规格化的浮点数的浮点数313023 220S指数指数( (阶码阶码E) )尾
59、数尾数M1位位8位位23位位 什么是规格化的浮点数?什么是规格化的浮点数?84二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示【例例2】将十进制数将十进制数173507转换为下述典型的转换为下述典型的32位浮位浮点数格式。点数格式。【解解】(173507)10(2A5C3)16(0010 1010 0101 1100 0011)2(0.1010 1001 0111 0000 1100 0000)2218数符数符S0,阶码,阶码E(12818)10(10010010)2因此因此(173507)2的该的该32位浮点数格式为:位浮点数格式为:2)规格化规格化的浮点数的浮点
60、数313023 220S指数指数( (阶码阶码E) )尾数尾数M1位位8位位23位位 什么是规格化的浮点数?什么是规格化的浮点数?85二、数据的二、数据的定点定点与与浮点浮点表示表示 2. 浮点数浮点数表示表示【例例2】将十进制数将十进制数173507转换为下述典型的转换为下述典型的32位浮位浮点数格式。点数格式。【解解】(173507)10(2A5C3)16(0010 1010 0101 1100 0011)2(0.1010 1001 0111 0000 1100 0000)2218数符数符S0,阶码,阶码E(12818)10(10010010)2因此因此(173507)2的该的该32位浮点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 果蔬汁饮料的环保生产与节能减排措施考核试卷
- 农田撂荒复耕方案范本
- 农业气象学2024年农艺师试题及答案
- 2023年中国能建陕西院招聘笔试参考题库附带答案详解
- 2023年中国稀土集团总部部分岗位社会公开招聘笔试参考题库附带答案详解
- 北仑庭院绿化施工方案
- 证券从业资格证的实操技能试题及答案
- 租赁设备市场租赁合同执行与监管考核试卷
- 恋爱性格测试题目及答案
- 建筑光纤通信系统安装考核试卷
- 急诊及重症医学-机械通气
- 《企业资金管理内部控制研究7800字(论文)》
- YY/T 1248-2014乙型肝炎病毒表面抗体测定试剂(盒)(化学发光免疫分析法)
- SH/T 1673-1999工业用环己烷
- 重症医学科各项规章制度汇编
- 三角函数的应用论文Word版
- 平面位置(轴线)测量记录表
- 生物制造国内外状况课件
- 处分通报范文员工处分通报范文4篇
- 幼儿园大班数学口算练习题可打印
- 罚没收缴物品处理管理流程图
评论
0/150
提交评论