张功萱版计算机组成原理第二章_第1页
张功萱版计算机组成原理第二章_第2页
张功萱版计算机组成原理第二章_第3页
张功萱版计算机组成原理第二章_第4页
张功萱版计算机组成原理第二章_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-5-171l进位计数制与数制转换方法进位计数制与数制转换方法l机器数的概念机器数的概念l原码、补码、反码、移码表示及运算方法原码、补码、反码、移码表示及运算方法l数的定点与浮点表示及运算方法数的定点与浮点表示及运算方法l非数值数据的表示非数值数据的表示l十进制数串的表示十进制数串的表示l数据校验码数据校验码2022-5-172 1. 1.各种信息在计算机用数字代码表示。各种信息在计算机用数字代码表示。2. 2.用数字型电信号表示数字代码。用数字型电信号表示数字代码。2022-5-173比如:比如:1.学生的学号,在没有计算机的时代管学生的学号,在没有计算机的时代管理人员为了管理方便,

2、就会把学生进行编理人员为了管理方便,就会把学生进行编制学号。把人抽象为数字。制学号。把人抽象为数字。2.平面与立体空间。人们为了描述事物在空平面与立体空间。人们为了描述事物在空间中的位置,人们将空间进行了数字化,间中的位置,人们将空间进行了数字化,这就是坐标。这就是坐标。上述人们进行的编码,不管有意无意,上述人们进行的编码,不管有意无意,都属于都属于“数字化数字化”的范畴。的范畴。2022-5-174用数字组成的代码(二进制代码)用数字组成的代码(二进制代码)例例1 用数字代码表示数值型数据用数字代码表示数值型数据 5 - 5 表示为表示为 0 101 表示为表示为 1 101 1. 在计算机

3、中用数字代码表示各种信息在计算机中用数字代码表示各种信息 2022-5-175例例2 用数字代码表示字符用数字代码表示字符A B 表示为表示为 1000001 表示为表示为 1000010 例例3 用数字代码表示图像用数字代码表示图像2022-5-176例例4 用数字代码表示机器指令用数字代码表示机器指令加法加法 从寄存器取数从寄存器取数 结果存入存储器结果存入存储器0001 000 001 例例5 用数字代码表示命令、状态用数字代码表示命令、状态 启动启动 停止停止 正在工作正在工作 工作结束工作结束 表示为表示为 00 表示为表示为 01 表示为表示为 10 表示为表示为 11 2022-

4、5-177 计算机内部流动的电信号很单纯计算机内部流动的电信号很单纯(二进制特点二进制特点),它不象无线电波或水波那样连绵不绝、大小不,它不象无线电波或水波那样连绵不绝、大小不一。在计算机内部的电信号如果测量一下的话,在一。在计算机内部的电信号如果测量一下的话,在不同的时间内,它要么是最大值不同的时间内,它要么是最大值 、要么是最小值、要么是最小值(高电平和低电平),这好像我们猜一枚硬币的正(高电平和低电平),这好像我们猜一枚硬币的正反面一样,反正不是正就是反。而与水波类似的正反面一样,反正不是正就是反。而与水波类似的正弦波在一点测量的话,它的值可弦波在一点测量的话,它的值可 能在在最大值与最

5、能在在最大值与最小值之间的任何一个数字上。就像一艘漂在海上的小值之间的任何一个数字上。就像一艘漂在海上的小木船上,木船不停地随着波浪上上下下。如果让小木船上,木船不停地随着波浪上上下下。如果让您猜一下木船现在的非常精确的海拔高度,您会那您猜一下木船现在的非常精确的海拔高度,您会那么有把握吗?么有把握吗?2022-5-178 2. 在物理机制上用数字信号在物理机制上用数字信号 数字型电信号数字型电信号例例1 用电平信号表示数字代码用电平信号表示数字代码 高电平高电平 1 低电平低电平 高电平高电平 0 1 例例2 用脉冲信号表示数字代码用脉冲信号表示数字代码 有脉冲有脉冲无脉冲无脉冲 有脉冲有脉

6、冲101 表示数字代码表示数字代码 实现并行实现并行操作操作实现串行实现串行操作操作+5V0V+5V2022-5-179l任何任何 R R 进制数进制数 N N 均可表示为均可表示为(N)(N)R R x xn-1n-1R Rn-1n-1 x xn-2n-2R Rn-2n-2x x0 0R R0 0 x x-1-1R R-1 -1 x x-(m-1)-(m-1)R R-(m-1) -(m-1) x x-m-mR R-m -m lR R:基值基值。表示系数。表示系数x xi i可以取可以取0 0,1 1,R-1R-1共共R R个个数字并且是逢数字并且是逢R R进一的。进一的。 lR Ri i:位

7、权值位权值。 x xi iR Ri i表示表示x xi i在数列中所代表的实际数在数列中所代表的实际数值。值。l任何进位计数制都具有两个基本因素:任何进位计数制都具有两个基本因素:基值和位基值和位权值权值。1 -n-miiiRx2022-5-1710l计算机中常用进位计数制计算机中常用进位计数制l二进制二进制l数字:数字: 0 0,1 1l进位方式:进位方式: 逢二进一逢二进一 l后缀:后缀:B B 如如10100011B10100011Bl八进制八进制l数字:数字:0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7 l进位方式:进位方式: 逢八进一逢八进一l后缀:后缀:O O 或

8、或 Q Q 如如137.67Q137.67Q2022-5-1711l十进制十进制l数字:数字:0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9l进位方式:逢十进一进位方式:逢十进一l后缀:后缀:D D 或或 无无 如如1357.261357.26l十六进制十六进制l数字:数字: 0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9, A A,B B,C C,D D,E E,F F l进位方式:逢十六进一进位方式:逢十六进一l后缀:后缀:H H 如如 19BF.36EH19BF.36EH2022-5-1712l两个有理数相等两个有理数相等=

9、l 这两个有理数的整数部分、小数部分这两个有理数的整数部分、小数部分分别相等,分别相等,l 因此,因此, 整数部分、小数部分分别进行转换整数部分、小数部分分别进行转换2022-5-1713l方法:方法:按权相加按权相加。即利用按位展开公式。即利用按位展开公式将系数与位权值相乘后求和。将系数与位权值相乘后求和。l例例1. 1. 2022-5-1714l整数部分:除基取余整数部分:除基取余l 把被转换的十进制整数除以基数把被转换的十进制整数除以基数R R,取其余数即为,取其余数即为R R进制整数的进制整数的最低位最低位的数字。的数字。l 再用基数再用基数R R去除前次所得的商,所得余数即为去除前次

10、所得的商,所得余数即为R R进制进制整数相应位的数字。整数相应位的数字。l 重复,直到商为重复,直到商为0 0为止。为止。l小数部分:乘基取整小数部分:乘基取整l 把被转换的十进制小数乘以基数把被转换的十进制小数乘以基数R R,取乘积的整数,取乘积的整数部分作为部分作为R R进制小数的进制小数的最高位最高位的数字。的数字。l 再用基数再用基数R R乘前一步乘积的小数部分,取新的乘积乘前一步乘积的小数部分,取新的乘积的整数部分为的整数部分为R R进制小数相应位的数字。进制小数相应位的数字。l 重复,直到乘积的小数部分为重复,直到乘积的小数部分为0,0,或求得所要求的或求得所要求的位数为止。位数为

11、止。2022-5-1715因为因为16162 24 4,8 82 23 3l二转八:从小数点向左右二转八:从小数点向左右, ,三位一分组。三位一分组。 (10 011 101.0110 011 101.01)B =(235.2)QB =(235.2)Q l二转十六:从小数点向左右,四位一分组。二转十六:从小数点向左右,四位一分组。 (101 0111 1001. 01)B =(579.4)H(101 0111 1001. 01)B =(579.4)H说明:进行转换时:说明:进行转换时: 整数位数不足,不影响转换结果。整数位数不足,不影响转换结果。 小数位数不足,必须补足再转换,否则出错。小数位

12、数不足,必须补足再转换,否则出错。 2022-5-1716 一个实际数(如一个实际数(如8.75)通常由数符、)通常由数符、数码、小数点三部分组成。数码、小数点三部分组成。 因此,将一个实际数机内表示要解决因此,将一个实际数机内表示要解决三个问题:三个问题:2022-5-17171 符号的处理符号的处理 通常,符号的处理有两种方法:通常,符号的处理有两种方法:舍弃符号,采用无符号形式表示舍弃符号,采用无符号形式表示采用符号,并对符号加以处理采用符号,并对符号加以处理2022-5-17182.2.1 2.2.1 机器数与真值机器数与真值l由于计算机中的硬件电路只能直接表示和处理由于计算机中的硬件

13、电路只能直接表示和处理二进制数,所以需要研究带符号数的符号和小二进制数,所以需要研究带符号数的符号和小数点在计算机中如何表示。数点在计算机中如何表示。l1. 1. 机器数:机器数:连同数符一起数字化了的数。连同数符一起数字化了的数。l2.2. 真值真值:机器数按一般表示方法所表示的数值:机器数按一般表示方法所表示的数值2022-5-1719l3. 3. 机器数的特点:机器数的特点:l 数的符号二进制代码化。数的符号二进制代码化。“0 0”代表,代表,“1 1”代表,且放在数据的最高代表,且放在数据的最高位。位。l 小数点隐含在数据的某一固定位置上,不占小数点隐含在数据的某一固定位置上,不占用存

14、储空间。用存储空间。l 每个机器数数据所占的二进制位数受机器硬每个机器数数据所占的二进制位数受机器硬件规模的限制,与机器字长有关。超过机器字件规模的限制,与机器字长有关。超过机器字长的数值要舍去。长的数值要舍去。2022-5-1720l机器数表示的数值是不连续的机器数表示的数值是不连续的例如:例如:l8 8位二进制整数可以表示位二进制整数可以表示127127127127,共,共256256个个数。数。 1 1111111111111111 10000000 0000000 ,0 0000000000000000 01111111 1111111 l即即111111111111110 0和和0

15、011111111111111,其中,其中0 000000000000000表示表示0 0,1 100000000000000表示表示0 02022-5-1721l小数原码定义:小数原码定义:例:例:0.10011000.1001100原原0100110001001100 0.10011000.1001100原原1100110011001100 0.0000000 0.0000000原原0000000000000000 1000000010000000结论:结论:原码原码为符号位加数的绝对值,为符号位加数的绝对值,0 0正正1 1负负 原码原码零有两个编码,零有两个编码,+0+0和和-0-0编

16、码不同编码不同 原码原码难以用于加减运算,但乘除方便难以用于加减运算,但乘除方便0 x1- x1 x-11x0 xx原2022-5-1722l纯整数原码定义:纯整数原码定义:式中式中 n n 为除符号位以外的数值部分的位数为除符号位以外的数值部分的位数例:例:1001100110011001原原0 01001100110011001 1001100110011001原原1 110011001100110010 x2- x 2x-2x0 xxnnnn2原2022-5-1723l例:设机器字长为例:设机器字长为8 8位,写出位,写出3737和和3737的二的二进制原码表示。进制原码表示。解:解:

17、(37)10(100101)2 (00100101)2 00100101原原0010010125H (-37)10(-100101)2 (-00100101)2 -00100101原原10100101=A5H可见可见将将x原的符号取反即可得到原的符号取反即可得到x原原 2022-5-1724l对于纯小数,对于纯小数,n n1 1位原码的数据表示范围:位原码的数据表示范围: 1 1.111.11111110 0.111.1111111 n n位位 n n位位 即即(1(12 2n n) ) (1(12 2n n) ) 纯小数纯小数n n1 1位原码中有一位是符号位原码中有一位是符号l对于纯整数,

18、对于纯整数,n n1 1位原码的数据表示范围:位原码的数据表示范围: 1 111111111110 01111111111 n n位位 n n位位 即即(2(2n n1) 1) (2(2n n1)1) 纯整数纯整数n n1 1位原码中有一位是符号位原码中有一位是符号2022-5-1725l符号位不变,数值部分左移或右移,移出的空位符号位不变,数值部分左移或右移,移出的空位填填“0 0”。 例:例: 0.01100000.0110000原原 0.01100000.0110000 2 20.01100000.0110000原原0.11000000.1100000 0.01100000.011000

19、0原原0.0011000000.001100000 l左移时注意不要将有效位移出,否则将会出错。左移时注意不要将有效位移出,否则将会出错。122022-5-1726l根据运算时根据运算时“模模”的概念的概念 5 52 25 510103 3 (Mod 12Mod 12)l对于某一确定的模,某数减去一个数,可以用对于某一确定的模,某数减去一个数,可以用加上那个数的负数的补数来代替。加上那个数的负数的补数来代替。(p27)(p27) x x补补M Mx x (Mod MMod M)l当当x0 x0时,时,M Mx x 大于大于M M,把,把M M丢掉,所以丢掉,所以xx补补x x ,即正数的补数等

20、于其本身。,即正数的补数等于其本身。l当当x x0 0时,时,xx补补M Mx xM M|x|x|,所以负数的,所以负数的补数等于模与该数绝对值之差。补数等于模与该数绝对值之差。2022-5-1727l小数补码定义:小数补码定义: 2 mod 0 x1- x 21x0 x x 补 x0.1011, x补补10 x10.0000+(0.1011)1.0101例:例:x0.1011, x补补010112022-5-1728)2 (Mod 0 x2- x2x0 xx1nn1nn2补例:例:x1011, x补补01011整数的补码定义整数的补码定义52 例:例:x1011 x补补 x100000+(1

21、011)101012022-5-1729l补码中补码中“0 0”的表示是唯一的的表示是唯一的 00补补 00补补0.000.000 0 (纯小数)纯小数) 00补补 00补补00000 0 (纯整数)纯整数)l补码表示的最小数可以表示到补码表示的最小数可以表示到1 1或或2 2n nl对于纯小数对于纯小数 11补补2 2( (1)1)1.001.000 (Mod 2)0 (Mod 2)l对于纯整数对于纯整数 2 2n n 补补2 2n n1 1( (2 2n n) )1001000 0 (Mod Mod 2 2n n1 1)2022-5-1730l对于纯小数,对于纯小数,n n1 1位补码的数

22、据表示范围:位补码的数据表示范围: 1 1.111.11111110 0.111.1111111(原码)即(原码)即(1(12 2n n) ) (1(12 2n n) ) 1 1.000.00001010 0.111.1111111(补码)(补码) 1 1.000.00000000 0.111.1111111(补码)即(补码)即1 11 12 2n n l对于纯整数,对于纯整数,n n1 1位补码的数据表示范围:位补码的数据表示范围: 1 111111111110 011111111 11 (原码)即(原码)即(2(2n n1) 1) (2(2n n1)1) 1000 100001010 01

23、1111111 11 (补码)(补码) 1000100000000 011111111 11 (补码)即(补码)即2 2n n2 2n n1 1 2022-5-1731l若若 x x00,则,则xx补补xx原原l若若 x x0 0,则将除符号位以外的,则将除符号位以外的xx原原各位取反各位取反( (符号位不变符号位不变) ),然后在最低位上加,然后在最低位上加1 1,即得到,即得到xx补补。l若若x x0 0,将除符号位以外的,将除符号位以外的xx补补的各位取反的各位取反( (符号位不变符号位不变) ),然后在最低位上加,然后在最低位上加1 1,即得到,即得到xx原原。l注意注意:补码中特殊数

24、:补码中特殊数1 1(纯小数)和(纯小数)和2 2n n(纯整数)的表示,在原码中没有对应表示。(纯整数)的表示,在原码中没有对应表示。2022-5-1732l例:例: lx x0.1001100 0.1001100 则则xx补补0.1001100 0.1001100 lx x0.1001100 0.1001100 则则xx补补1.01101001.0110100lx x1001100 1001100 则则xx补补0100110001001100lx x1001100 1001100 则则xx补补1011010010110100结论:结论:补码补码最高一位为符号位,最高一位为符号位,0正正1负

25、负 补码补码零有唯一编码,零有唯一编码,补码补码能表示能表示-1 补码补码能很好用于加减乘除运算能很好用于加减乘除运算2022-5-1733l在补码运算中称在补码运算中称 xx补补 为为机器正数机器正数, xx补补为为机器负数机器负数l求求 xx补补,也称为对,也称为对xx补补的求补或变补。的求补或变补。 l已知已知xx补补 ,将,将xx补补的各位的各位( (含符号位含符号位) )取反,然取反,然后在最低位上加后在最低位上加1 1,即得到,即得到 xx补补。反之亦然。反之亦然。 例:例: xx补补1.0011010 1.0011010 xx补补0.1100110 0.1100110 x x补补

26、10110010 10110010 xx补补01001110010011102022-5-1734l补码的补码的左移左移规则是:规则是: 符号位不变,数值位各位向左移位,最符号位不变,数值位各位向左移位,最低位移出的低位移出的空位填空位填0 0。l补码数补码数右移右移规则是:规则是: 符号位不变,数值位各位向右移位,高符号位不变,数值位各位向右移位,高位移出的位移出的空位填补与符号位相同的代码空位填补与符号位相同的代码。2022-5-1735l例:例:l xx补补1.0011010 x1.0011010 x补补1.10011011.1001101l x x补补0.0110010 x0.0110

27、010 x补补0.00110010.0011001l x x补补10110010 x10110010 x补补1101100111011001l x x补补1.1111010 2x1.1111010 2x补补1.11101001.1110100l x x补补10110010 2x10110010 2x补补0110010001100100l xx补补01011010 2x01011010 2x补补0011010000110100212121出错出错出错出错2022-5-1736定点小数反码的定义(定点小数反码的定义(n n为小数点后的数值位数)为小数点后的数值位数))22 (Mod 0 x1- x

28、221x0 xxnn反例:例:x0.1001100 x反反0.1001100 x0.1001100 x反反1.0110011 0反反0.000 0反反1.1112022-5-1737l整数反码的定义整数反码的定义 (n n为除符号外的数值位数)为除符号外的数值位数))2 (Mod 0 x2- x22x0 xx1nn1nn11反例:例:x1001100 则则x反反01001100 x1001100 则则x反反10110011 0反反000 0反反111结论:结论:反码反码最高一位为符号位,最高一位为符号位,0正正1负负 反码反码零有两个编码,零有两个编码,+0和和-0编码不同编码不同反码反码难以

29、用于加减乘除运算难以用于加减乘除运算2022-5-1738l反码的数据表示范围与原码相同。反码的数据表示范围与原码相同。l在定点小数反码中不能表示在定点小数反码中不能表示“1 1”l在整数反码中不能表示在整数反码中不能表示“2 2n n”2022-5-1739l若若 x x00,则,则xx反反xx原原l若若 x x0 0,则将除符号位以外的,则将除符号位以外的xx原原各各位取反位取反( (符号位不变符号位不变) ),即得到,即得到xx反反。l若若x x0 0,将除符号位以外的,将除符号位以外的xx反反的各位的各位取反取反( (符号位不变符号位不变) ),即得到,即得到xx原原。反码与原码的关系

30、反码与原码的关系2022-5-1740 x真 值 x原 x补 x移 x反 -x补 符 号 位x0不 变 x0 0数 值 位 不 变 x0 1数 值 位 取 反 符 号 为 : X0 0 符 号 为 : X0 1 数 值 位 不 变 符 号 位x0不 变 x0 0 数 值 位 不 变 x0 1 数 值 位 取 反 , 末 位 加1 符 号 位 取 反 数 值 位 不 变 符 号 位 取 反 数 值 位 取 反 , 末 位 加1 2022-5-1741小数点按约定方式标出小数点按约定方式标出一、定点表示一、定点表示Sf S1S2 Sn数符数符数值部分数值部分小数点位置小数点位置Sf S1S2 Sn

31、数符数符数值部分数值部分小数点位置小数点位置或或定点机定点机小数定点机小数定点机整数定点机整数定点机原码原码补码补码反码反码(1 2-n) +(1 2-n)(2n 1) +( 2n 1) 1 +(1 2-n) 2n +( 2n 1)(1 2-n) +(1 2-n)(2n 1) +( 2n 1)2022-5-1742l在定点运算中,参加运算的数据必须是定点小在定点运算中,参加运算的数据必须是定点小数或定点整数。因此在运算之前,必须选择一数或定点整数。因此在运算之前,必须选择一个恰当的个恰当的比例因子比例因子,将所有参加运算的数均化,将所有参加运算的数均化成纯小数或纯整数,然后再进行运算。运算结成

32、纯小数或纯整数,然后再进行运算。运算结果再根据所选的比例因子转换成正确的值。果再根据所选的比例因子转换成正确的值。l比例因子必须选择恰当。选择比例因子必须选择恰当。选择太大太大,将会,将会影响影响运算精度运算精度;选择;选择太小太小,会使运算结果超出机器,会使运算结果超出机器所能表示的数据范围,即所能表示的数据范围,即出现溢出出现溢出。l溢出溢出:运算结果超出机器所能表示的数:运算结果超出机器所能表示的数据范围。据范围。2022-5-1743l比例因子的选择,早期是由用户自己进行的。比例因子的选择,早期是由用户自己进行的。在现代的计算机中,比例因子的选择是由系统在现代的计算机中,比例因子的选择

33、是由系统程序(如编译程序)完成的,对用户往往是透程序(如编译程序)完成的,对用户往往是透明的。明的。l结论结论: 定点表示计算简单,但数据表示范围小,定点表示计算简单,但数据表示范围小,比例因子选择困难,不适合科学计算。比例因子选择困难,不适合科学计算。2022-5-1744l任何一个数均可表示为:任何一个数均可表示为: (N)(N)R RS SR Re e R: R: 基值。计算机中常用的基值。计算机中常用的R R可取可取2 2、8 8、1616等。等。 S S:尾数。代表数:尾数。代表数N N的有效数字。计算机中一般表示为定点小数。的有效数字。计算机中一般表示为定点小数。 e e:阶码。代

34、表数:阶码。代表数N N的小数点的实际位置。一般表示为整数。的小数点的实际位置。一般表示为整数。l例:例:(123.45)10=12345(123.45)10=12345* *1010-2-20.123450.1234510103 3 (11011.101)2 (11011.101)20.110111010.110111012 25 5 0.110111010.110111012 2101 101 11011101110111012 23 3 11011101110111012 211112022-5-1745l在实际机器中,通常都采用后一种表示格式。在实际机器中,通常都采用后一种表示格式。

35、阶码 小数点 尾数 小数点 阶符 阶 码 数符 尾 数 阶码 小数点 尾数 小数点 数符 阶符 阶 码 尾 数 2022-5-1746l浮点数采用规格化表示方法的目的:浮点数采用规格化表示方法的目的:l 为了提高运算精度,充分利用尾数的有效数为了提高运算精度,充分利用尾数的有效数位,尽可能占满位数,以保留更多的有效数字。位,尽可能占满位数,以保留更多的有效数字。l为了浮点数表示的唯一性。为了浮点数表示的唯一性。l例:例:0.1001000.1001002 23 30.0010010.0010012 25 5l为达到上述目的,需要尽可能去掉尾数中的前为达到上述目的,需要尽可能去掉尾数中的前置置“

36、0 0” 。即尽量使小数点后第一位为。即尽量使小数点后第一位为“1 1”。2022-5-1747规格化规格化(1) 规格化数的定义规格化数的定义(2) 规格化数的判断规格化数的判断R = 2 |S| 1 12S0真值真值原码原码补码补码反码反码规格化形式规格化形式S 0规格化形式规格化形式真值真值原码原码补码补码反码反码0.1 0.1 0.1 0.1 原码原码 不论正数不论正数、负数负数,第一数位为第一数位为1补码补码 符号位和第符号位和第 一数位不同一数位不同 Sf S11 0.1 1.1 1.0 1.0 2022-5-1748特例特例S = = 0.100 0 12 补补 不是规格化的数不

37、是规格化的数12S = 1 1补补 是规格化的数是规格化的数S补补 = 1 . 1 0 0 0S补补 = 1 . 0 0 0 0 例:例:S补补0.1101101 和和 S补补1.0101101 是规格化数是规格化数S补补0.0101101 和和 S补补1.1101101 不是规格化数不是规格化数2022-5-1749l尾数:尾数:Smin-, Smax-, Smin+, Smax+l阶码:阶码: emax+ ,emin-, emin-, emax+最大负数最小负数最大正数最小正数02022-5-1750l以阶码与尾数均采用原码为例:以阶码与尾数均采用原码为例:数数符符阶阶符符阶码阶码(m位位

38、)尾数尾数(n位位)真真 值值最小正数最小正数0111110001最大正数最大正数0011111111最大负数最大负数1111110001最小负数最小负数1011111111)12m(2n2)12m(2n2-1)12m(2n2)12m(2n2-12022-5-1751 将将 写成二进制在定点机和浮点机中的机器数写成二进制在定点机和浮点机中的机器数形式。其中定点机为字长形式。其中定点机为字长10位的原码格式;浮点机尾位的原码格式;浮点机尾数数10 位,数符位,数符 1 位,阶码位,阶码 5 位(含位(含1位阶符)。位阶符)。19128解:解:设设 x = +19128二进制形式二进制形式定点表示

39、定点表示浮点规格化形式浮点规格化形式x原原 = 1, 0010; 0. 100110000 x补补 = 1, 1110; 0. 100110000 x反反 = 1, 1101; 0. 100110000定点机中定点机中浮点机中浮点机中00 x = 0.0010011x = 0.0010011x = 0.10011000002-10 x原原 = x补补 = x反反 = 0.0010011000练习练习2022-5-1752x = 111010000例例 6.14 将将 58 表示成二进制定点数和浮点数,表示成二进制定点数和浮点数,并写出它在定点机和浮点机中的三种机器数及阶码并写出它在定点机和浮点

40、机中的三种机器数及阶码为移码、尾数为补码的形式(其他要求同上例)。为移码、尾数为补码的形式(其他要求同上例)。解:解:设设 x = 58二进制形式二进制形式定点表示定点表示浮点规格化形式浮点规格化形式x原原 = 1, 000111010 x补补 = 1, 111000110 x反反 = 1, 111000101x原原 = 0, 0110; 1. 111010000 x补补 = 0, 0110; 1. 000110000 x反反 = 0, 0110; 1. 000101111定点机中定点机中浮点机中浮点机中x = 111010 x = (0.1110100000) 21102022-5-1753

41、l在浮点数表示中在浮点数表示中l尾数的位数决定了数据表示的精度尾数的位数决定了数据表示的精度。增加。增加尾数的位数可增加有效数字位数,即提高尾数的位数可增加有效数字位数,即提高数据表示精度。数据表示精度。l阶码的位数决定了数据表示的范围阶码的位数决定了数据表示的范围。增加。增加阶码的位数,可扩大数据表示的范围。阶码的位数,可扩大数据表示的范围。l因此当字长一定的条件下,必须合理地分因此当字长一定的条件下,必须合理地分配阶码和尾数的位数,以满足应用的需要。配阶码和尾数的位数,以满足应用的需要。2022-5-1754l为了得到较高的精度和较大的数据表示范围,为了得到较高的精度和较大的数据表示范围,

42、在很多机器中都设置单精度浮点数和双精度浮在很多机器中都设置单精度浮点数和双精度浮点数等不同的浮点数格式。点数等不同的浮点数格式。l单精度浮点数就是用一个字长表示一个浮点数。单精度浮点数就是用一个字长表示一个浮点数。l双精度浮点数是用二个字长表示一个浮点数。双精度浮点数是用二个字长表示一个浮点数。2022-5-1755l美国美国IEEE(IEEE(电气及电子工程师协会电气及电子工程师协会) ) 提出了浮点数提出了浮点数的表示方法,称为的表示方法,称为IEEEIEEE标准标准754(1EEE754(1EEE,1985)1985),当,当今流行的计算机几乎都采用了这一标准。今流行的计算机几乎都采用了

43、这一标准。 S SE EM M数符数符 阶码阶码 尾数尾数 (1)单精度格式单精度格式(32位位):E8位,位,M23位。位。 (2)扩展单精度格式:扩展单精度格式: E11位,位,M31位。位。 (3)双精度格式双精度格式(64位位):E11位,位,M52位。位。(4)扩展双精度格式:扩展双精度格式:E15位,位,M63位。位。2022-5-1756lS S:数符,:数符,0 0 表示表示“”,1 1 表示表示“”。 lE E:指数即阶码部分。其中包括:指数即阶码部分。其中包括1 1位阶符和位阶符和7 7位数值。位数值。采用移采用移127127码,移码值为码,移码值为127127。即。即 阶

44、码阶码127127实际指数值实际指数值l规定阶码的取值范围为规定阶码的取值范围为1 1254254,阶码值,阶码值255255和和0 0,用,用于表示特殊数值。于表示特殊数值。lM M:共:共2323位。由于尾数采用规格化表示,所以位。由于尾数采用规格化表示,所以IEEE754IEEE754标准约定在小数点左部有一位隐含位为标准约定在小数点左部有一位隐含位为1 1,从而使尾数的实际有效位为从而使尾数的实际有效位为2424位,即尾数的有效值位,即尾数的有效值为为1.M1.M。 l在在IEEE 754标准中由标准中由32位单精度所表示的浮点数位单精度所表示的浮点数 N 的数值为:的数值为:127E

45、S21.M1)(N2022-5-1757l例:将例:将5/325/32及及 41204120表示成表示成IEEE754IEEE754单精度格单精度格式,并用十六进制书写。式,并用十六进制书写。l解:解:l(1) (5/32)(1) (5/32)10 10 (0.00101)(0.00101)2 21.011.01* *2 2-3-3l按按IEEE754IEEE754单精度格式单精度格式 得:得:lS S0 0lM M01000010000000lE E127127( (3)3)124124(01111100)(01111100)2 2l其机器数表示形式为:其机器数表示形式为:l0 011111

46、00 010000000000000000000000 01111100 01000000000000000000000l十六进制形式:十六进制形式:3E200000H3E200000H2022-5-1758l(2) (2) (4120)4120)101010000000110001000000011000 1.0000000111.000000011* *2 21212 lS S1 1lM M0000000110000000110000lE E1271271212139139(10001011)(10001011)2 2l其机器数表示形式为:其机器数表示形式为:l1 10001011 000

47、000011000000000000001 10001011 00000001100000000000000l十六进制形式:十六进制形式:C580C000HC580C000Hl注意注意: :在在IEEE754IEEE754单精度格式中尾数默认小数点单精度格式中尾数默认小数点前为前为1,1,即真正的尾数为即真正的尾数为1.M1.M。阶码为移。阶码为移127127码码, ,所以所以 阶码阶码127127实际指数值。实际指数值。 2022-5-1759l1. 1. 在字长相同的条件下,浮点表示的数据范围在字长相同的条件下,浮点表示的数据范围大,精度高。大,精度高。l例:对于数据例:对于数据 N N,

48、设机器字长为,设机器字长为1616位,补码表位,补码表示。当采用定点整数表示时,有示。当采用定点整数表示时,有1 1位数符,位数符,1515位位有效值;采用浮点数表示时,有有效值;采用浮点数表示时,有1 1位数符,位数符,1 1位位阶符,阶符,3 3位阶码,位阶码,1111位尾数。位尾数。l定点整数的表示范围定点整数的表示范围 2 21515NN1 1 和和 1N21N215151 1 l浮点数的表示范围浮点数的表示范围 1 12 27 7NN2 211112 28 8 和和 2 211112 28 8 N N(1 12 21111)2 27 72022-5-1760l由于浮点数运算中随时对中

49、间结果进行规格化由于浮点数运算中随时对中间结果进行规格化处理,所以减少了有效数字的丢失,提高了运处理,所以减少了有效数字的丢失,提高了运算精度。算精度。l2. 2. 浮点运算算法复杂,所需设备量大,运算浮点运算算法复杂,所需设备量大,运算速度慢。速度慢。l定点数小数点固定,可以直接运算。而浮点数定点数小数点固定,可以直接运算。而浮点数运算需要进行对阶运算需要进行对阶( (对齐小数点对齐小数点) )与规格化,既与规格化,既有尾数运算又有阶码运算,算法复杂,因此所有尾数运算又有阶码运算,算法复杂,因此所需设备量大,线路复杂,运算速度也比定点数需设备量大,线路复杂,运算速度也比定点数运算慢。运算慢。

50、l数据表示是计算机系统结构设计的重要问题,数据表示是计算机系统结构设计的重要问题, 同时也是算法设计的重要问题。同时也是算法设计的重要问题。2022-5-1761l为了处理非数值领域的问题,需要在计算机中为了处理非数值领域的问题,需要在计算机中引入文字、字母及一些专用符号等,以便表示引入文字、字母及一些专用符号等,以便表示文字语言、逻辑语言等信息。但由于计算机硬文字语言、逻辑语言等信息。但由于计算机硬件能够直接识别和处理的只是件能够直接识别和处理的只是“0 0”、“1 1”二进二进制信息,因此在计算机中对这类数据必须用二制信息,因此在计算机中对这类数据必须用二进制代码来表示。进制代码来表示。l

51、非数值型数据表示:逻辑数、字符、字符串、非数值型数据表示:逻辑数、字符、字符串、文字及某些专用符号等的二进制代码。文字及某些专用符号等的二进制代码。l这些二进制代码并不表示数值,所以称为非数这些二进制代码并不表示数值,所以称为非数值型数据或符号数据。值型数据或符号数据。2022-5-1762l在计算机中一个逻辑数是用一个二进制串来表在计算机中一个逻辑数是用一个二进制串来表示的。逻辑数具有下面几个特点:示的。逻辑数具有下面几个特点:l(1) (1) 逻辑数没有符号的问题。逻辑数中各位之逻辑数没有符号的问题。逻辑数中各位之间是相互独立的,既没有位权问题,也没有进间是相互独立的,既没有位权问题,也没

52、有进位问题。位问题。l(2) (2) 逻辑数中的逻辑数中的“0 0”与与“1 1”不代表值的大小,不代表值的大小,仅代表一个命题的真与假、是与非等逻辑关系。仅代表一个命题的真与假、是与非等逻辑关系。l(3) (3) 逻辑数只能参加逻辑运算,并且是逻辑数只能参加逻辑运算,并且是按位按位进进行的。行的。l例:例:1011101111001100111111112022-5-1763l字符与字符串数据是计算机中用得最多的符号字符与字符串数据是计算机中用得最多的符号数据,它是人和计算机联系的桥梁。为使计算数据,它是人和计算机联系的桥梁。为使计算机硬件能够识别和处理字符,必须对字符按一机硬件能够识别和处

53、理字符,必须对字符按一定规则用二进制编码。定规则用二进制编码。l目前广泛使用的是目前广泛使用的是 ASCIIASCII码码( (美国国家信息交美国国家信息交换标准字符码换标准字符码) )2022-5-17642022-5-1765lNUL NUL 空空 VT VT 垂直制表垂直制表lSOH SOH 标题开始标题开始 FF FF 走纸控制走纸控制lSTX STX 正文结束正文结束 CR CR 回车回车lETX ETX 本文结束本文结束 SO SO 移位输出移位输出lEOT EOT 传输结果传输结果 SI SI 移位输入移位输入lENQ ENQ 询问询问 SP SP 空间空间( (空格空格) )l

54、ACK ACK 承认承认 DLE DLE 数据链换码数据链换码lBEL BEL 报警符报警符 DCl DCl 设备控制设备控制1 1lBS BS 退一格退一格 DC2 DC2 设备控制设备控制2 2lHT HT 横向列表横向列表 DC3 DC3 设备控制设备控制3 3lLF LF 换行换行 DC4 DC4 投备控制投备控制4 4lSYN SYN 空转同步空转同步 NAK NAK 否定否定lETB ETB 信息组传送结束信息组传送结束 FS FS 文字分隔符文字分隔符lCAN CAN 作废作废 GS GS 组分隔符组分隔符lEM EM 纸尽纸尽 RS RS 记录分隔符记录分隔符lSUB SUB

55、减减 US US 单元分隔符单元分隔符lESC ESC 换码换码 DEL DEL 作废作废2022-5-1766l在计算机中,通常用一个字节表示一个字符。在计算机中,通常用一个字节表示一个字符。由于由于ASCIIASCII编码为七位二进制,字节的最高位编码为七位二进制,字节的最高位的作用:的作用:l 用作奇偶校验位,用来检测错误。用作奇偶校验位,用来检测错误。l 用于表示字符,形成扩展的用于表示字符,形成扩展的ASCIIASCII码。如码。如EBCDICEBCDIC码。码。lEBCDIC(EstendedBinary Coded Decimal EBCDIC(EstendedBinary Co

56、ded Decimal Interchange Code)Interchange Code)是是IBMIBM公司常用的一种字符公司常用的一种字符编码。它采用八位二进制数表示一个字符。编码。它采用八位二进制数表示一个字符。l 在我国用于区分汉字和字符。如规定字节在我国用于区分汉字和字符。如规定字节的最高位为的最高位为“0 0” 表示表示ASCIIASCII码,为码,为“1 1” 表示表示汉字编码。汉字编码。2022-5-1767l字符串:连续的一串字符。字符串:连续的一串字符。l通常一个字符串占用主存中多个连续的字节进通常一个字符串占用主存中多个连续的字节进行存放。行存放。字节字节1 1字节字节

57、2 2字节字节L LA+0A+0A+1A+1A+L+1A+L+12022-5-1768l一个字符串在主存中按字节编址存放时,既可一个字符串在主存中按字节编址存放时,既可以从低位字节向高位字节的顺序存放,也可从以从低位字节向高位字节的顺序存放,也可从高位字节向低位字节的顺序存放。高位字节向低位字节的顺序存放。l当主存字由多个字节组成时,在同一个主存字当主存字由多个字节组成时,在同一个主存字中,字符串既可以从低位字节向高位字节的顺中,字符串既可以从低位字节向高位字节的顺序存放,也可按从高位字节向低位字节的顺序序存放,也可按从高位字节向低位字节的顺序存放。不同的机器选用不同的方式。存放。不同的机器选

58、用不同的方式。2022-5-1769l例例: IF: IF ABAB THENTHEN READREAD (K) (K) 这一字符串包括这一字符串包括空格在内共有空格在内共有2020个字符。个字符。l如果在按如果在按字节字节编址的内存中存放,可以按照从编址的内存中存放,可以按照从低地址字节单元到高地址字节单元或从高地址低地址字节单元到高地址字节单元或从高地址字节单元到低地址字节单元的顺序存放。字节单元到低地址字节单元的顺序存放。l如果主存字长为如果主存字长为3232位,则字符串在每个主存字位,则字符串在每个主存字中可以有两种存放方式。中可以有两种存放方式。l 从低位字节向高位字节顺序存放从低位

59、字节向高位字节顺序存放l 从高位字节向低位字节顺序存放从高位字节向低位字节顺序存放2022-5-1770A+0HIA+1HFA+2HA+3HAA+4HA+5HBA+6HA+7HTA+8HHA+9HEAFIA+0HTBA+4H NEHA+8HDAERA+CH)k( A+10HA+AHNA+BH A+CHRA+DHEA+EHAA+FHDA+10HA+11H(A+12HKA+13H)按字节编址按字节编址按字编址按字编址32102022-5-1771A+0H)A+1HK A+2H(A+3H A+4HDA+5HA A+6HEA+7HRA+8H A+9HNIF AA+0HB TA+4HH EN A+8HR

60、EADA+CH (K)A+10HA+AHEA+BHHA+CHTA+DH A+EHBA+FHA+10HAA+11H A+12HFA+13HI按字节编址按字节编址按字编址按字编址32102022-5-1772l为使计算机能够处理各种汉字信息,必须对汉为使计算机能够处理各种汉字信息,必须对汉字进行编码。字进行编码。l汉字在计算机中的表示比较特殊。因为在计算汉字在计算机中的表示比较特殊。因为在计算机中使用汉字,需要涉及到汉字的输入,存储机中使用汉字,需要涉及到汉字的输入,存储与处理、汉字的输出等几方面的问题,因此汉与处理、汉字的输出等几方面的问题,因此汉字的编码也有多种类型。字的编码也有多种类型。汉字

温馨提示

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

评论

0/150

提交评论