第 2 章 计算机中数据信息的表示-计算机组成原理_第1页
第 2 章 计算机中数据信息的表示-计算机组成原理_第2页
第 2 章 计算机中数据信息的表示-计算机组成原理_第3页
第 2 章 计算机中数据信息的表示-计算机组成原理_第4页
第 2 章 计算机中数据信息的表示-计算机组成原理_第5页
已阅读5页,还剩236页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-3-20 修订第修订第1版版 2016.92016.91第第 2 章章 计算机中数据信息的表示计算机中数据信息的表示 2022-3-202本章学习内容 计算机中数制与数制转换方法计算机中数制与数制转换方法 计算机中数值数据的计算机中数值数据的表示表示机器数的概念机器数的概念原码、补码、反码、移码表示及运算方法原码、补码、反码、移码表示及运算方法数的定点与浮点表示及运算方法数的定点与浮点表示及运算方法 非数值数据的表示非数值数据的表示 十进制数串的表示十进制数串的表示 数据校验码数据校验码2022-3-203计算机内部信息信息信息控制信息控制信息数据信息数据信息指令指令控制字控制字数值

2、型数据数值型数据非数值型数据非数值型数据定点数定点数浮点数浮点数数字串数字串字符与字符串字符与字符串汉字与汉字串汉字与汉字串2022-3-2042.1 2.1 数制与数制转换数制与数制转换 任何任何 R 进制数进制数 N 均可表示为均可表示为 R:R进制的基数,表示数列中各位数字进制的基数,表示数列中各位数字xi(min1)的的取值范围是取值范围是0R1,并且计数规则是,并且计数规则是“逢逢R进一进一”。 Ri:位权值,:位权值,xiRi表示表示xi在数列中所代表的实际数值。在数列中所代表的实际数值。 任何进位计数制都具有两个基本因素:任何进位计数制都具有两个基本因素:基值和位权值基值和位权值

3、。m1m21012n1nRxxx.xxxxx)(Nmm1)(m1)(m11002n2n1n1n1nmiiiRxRxRxRxRxRxRx 2022-3-205 二进制二进制 数字:数字: 0,1 进位方式:进位方式: 逢二进一逢二进一 后缀:后缀:B 如如10100011B 八进制八进制 数字:数字:0,1,2,3,4,5,6,7 进位方式:进位方式: 逢八进一逢八进一 后缀:后缀:O 或或 Q 如如137.67Q计算机中常用进位计数制计算机中常用进位计数制2022-3-206 十进制十进制 数字:数字:0,1,2,3,4,5,6,7,8,9 进位方式:逢十进一进位方式:逢十进一 后缀:后缀:D

4、 或或 无无 如如1357.26 十六进制十六进制 数字:数字: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 进位方式:逢十六进一进位方式:逢十六进一 后缀:后缀:H 如如 19BF.36EH2022-3-2071. 1. 任意进制数转换为十进制数任意进制数转换为十进制数 方法:方法:按权相加按权相加。即利用按位展开公式将系数。即利用按位展开公式将系数与位权值相乘后求和。与位权值相乘后求和。 例例2.2 将二进制数将二进制数110011.101转换为十进制数。转换为十进制数。 解:利用按权展开多项式,采用解:利用按权展开多项式,采用“按权相加按权相加”的方法进行转换。的方法

5、进行转换。 (110011.101)22524212021233216210.50.125(51.625)102022-3-2082.2.十进制数转换为任意进制数十进制数转换为任意进制数 数制转换原则:数制转换原则: 两个有理数相等两个有理数相等这两个有理数的整数这两个有理数的整数部分、小数部分分别相等。部分、小数部分分别相等。 进行不同数制之间的转换时要求:进行不同数制之间的转换时要求: 整数部分、小数部分分别进行转换整数部分、小数部分分别进行转换2022-3-209数制转换方法数制转换方法 整数部分:除基取余整数部分:除基取余 把被转换的十进制整数除以基数把被转换的十进制整数除以基数R,取

6、其,取其余数即为余数即为R进制整数的进制整数的最低位最低位的数字。的数字。 再用基数再用基数R去除前次所得的商,所得余数去除前次所得的商,所得余数即为即为R进制整数相应位的数字。进制整数相应位的数字。 重复,直到商为重复,直到商为0为止。为止。2022-3-2010数制转换方法数制转换方法 小数部分:乘基取整小数部分:乘基取整 把被转换的十进制小数乘以基数把被转换的十进制小数乘以基数R,取乘积的整数部分作为取乘积的整数部分作为R进制小数的进制小数的最高最高位位的数字。的数字。 再用基数再用基数R乘前一步乘积的小数部分,乘前一步乘积的小数部分,取新的乘积的整数部分为取新的乘积的整数部分为R进制小

7、数相应进制小数相应位的数字。位的数字。 重复,直到乘积的小数部分为。或重复,直到乘积的小数部分为。或求得所要求的位数为止。求得所要求的位数为止。2022-3-2011 例例2.4 2.4 将将(116.8125)(116.8125)1010转换为二进制数。转换为二进制数。 整数部分整数部分 2 116 0 2 116 0 余数余数 2 58 02 58 0 2 29 1 2 29 1 2 14 0 2 14 0 2 7 1 2 7 1 2 3 1 2 3 1 2 1 1 2 1 1 0 0 (116)(116)10 10 (1110100)(1110100)2 22022-3-2012 小数部

8、分小数部分 0.81250.8125 2 2 1 1.6250.6250 2 2 1 1.2500.2500 2 2 0 0.5000.5000 2 2 1 1.0000.0000 (0.8125)(0.8125)1010(0.1101)(0.1101)2 2 (116.8125)(116.8125)1010(1110100.1101)(1110100.1101)2 22022-3-2013计算机中的数据表示计算机中的数据表示 数据表示数据表示 能够由计算机硬件能够由计算机硬件直接识别直接识别的数据类型,的数据类型,如定点数、浮点数等。如定点数、浮点数等。 硬件直接识别硬件直接识别 即某种数据

9、类型可用计算机硬件即某种数据类型可用计算机硬件直接表示直接表示出来,并能用计算机指令出来,并能用计算机指令直接调用直接调用。2022-3-2014 数据表示(取值范围、精度、类型)数据表示(取值范围、精度、类型)影响计算机性能的全局性问题影响计算机性能的全局性问题直接影响算法的选择、硬件结构与组成直接影响算法的选择、硬件结构与组成随硬件技术和应用需求而变化和发展随硬件技术和应用需求而变化和发展是复杂的系统设计问题是复杂的系统设计问题2022-3-2015 2.2.1 2.2.1 机器数与真值机器数与真值 由于计算机中的硬件电路只能直接表示和处理由于计算机中的硬件电路只能直接表示和处理二进制数,

10、所以需要研究带符号数的符号和小二进制数,所以需要研究带符号数的符号和小数点在计算机中如何表示。数点在计算机中如何表示。 1. 1. 机器数机器数 采用二进制表示形式的连同数符一起代码化了采用二进制表示形式的连同数符一起代码化了的数据,在计算机中统称为机器数或机器码。的数据,在计算机中统称为机器数或机器码。机器数是数在计算机中的二进制表示形式。机器数是数在计算机中的二进制表示形式。 2.2. 真值真值 与机器数对应的用正、负符号加绝对值表示的与机器数对应的用正、负符号加绝对值表示的实际数值称为真值。实际数值称为真值。 2.2 2.2 带符号数的表示带符号数的表示2022-3-2016 数的符号二

11、进制代码化。数的符号二进制代码化。“0”代表,代表,“1”代表,且放在数据的代表,且放在数据的最高位。最高位。 小数点本身是隐含的,不占用存储空小数点本身是隐含的,不占用存储空间。间。 每个机器数数据所占的二进制位数受每个机器数数据所占的二进制位数受机器硬件规模的限制,与机器字长有关。机器硬件规模的限制,与机器字长有关。超过机器字长的数值要舍去。超过机器字长的数值要舍去。3. 机器数的特点机器数的特点2022-3-2017 机器数可分为机器数可分为 无符号数无符号数:机器字长的所有二进制位均表示数值:机器字长的所有二进制位均表示数值 带符号数带符号数:数值部分和符号均用二进制代码表示:数值部分

12、和符号均用二进制代码表示 例:例: 8位机器数为:位机器数为:11011011 若为无符号整数,则若为无符号整数,则 11011011 表示二进制整数。表示二进制整数。 其真值为其真值为 11011011(219)10 若为带符号整数,则最高位为符号,若为带符号整数,则最高位为符号, 1 1011011 表示二进制整数表示二进制整数 1011011 其真值为其真值为 1011011(91)102022-3-2018 机器数表示的数值是不连续的机器数表示的数值是不连续的 例如:例如: 8位二进制无符号数可以表示位二进制无符号数可以表示256个数个数 00000000111111110281 8位

13、二进制带符号数可以表示位二进制带符号数可以表示127127,共,共256个数。个数。 1111111110000000 ,0000000001111111 即即11111110 和和 01111111。 其中:其中:10000000表示表示0 ,00000000表示表示02022-3-2019常见微处理器中的整数数据表示常见微处理器中的整数数据表示 无符号二进制数的数据表示无符号二进制数的数据表示7015031063000H0FFH0000H0FFFFH0000 0000H0FFFF FFFFH0000 0000 0000 0000H 0FFFF FFFF FFFF FFFFH字节字节字字双字

14、双字四字四字2022-3-2020常见微处理器中的整数数据表示常见微处理器中的整数数据表示 带符号二进制数的数据表示带符号二进制数的数据表示7015080H7FH8000H7FFFHSS3106308000 0000H7FFF FFFFH8000 0000 0000 0000H 7FFF FFFF FFFF FFFFHSS字节字节字字双字双字四字四字2022-3-2021如何知道计算机表示的数据是否带符号如何知道计算机表示的数据是否带符号 计算机在执行指令时,指令所处理的数计算机在执行指令时,指令所处理的数据类型由据类型由指令操作码指令操作码决定。决定。2022-3-20222.2.2 2.2

15、.2 原码表示原码表示 原码表示原码表示:保持原有的数值部分的形式不变,:保持原有的数值部分的形式不变,只将符号用二进制代码表示。只将符号用二进制代码表示。 原码表示是最简单的机器数表示方法。原码表示是最简单的机器数表示方法。 1. 原码的定义原码的定义 纯小数原码定义:纯小数原码定义: 0 x1- x1x -11x0 x x原原 例:例:0.10011001原原0.10011001 0.10011001原原1.100110012022-3-2023 纯整数原码定义:纯整数原码定义: 式中式中 n n 为除符号位以外的数值部分的位数为除符号位以外的数值部分的位数0 x2- x 2x-2x0 x

16、xnnnn2原 例:例: 10011001原原010011001 10011001原原1100110012022-3-2024 例:设机器字长为例:设机器字长为8位,写出位,写出0.375和和0.6875的二进制原码表示。的二进制原码表示。 解:解: (0.375)10 (0.011)2 (0.0110000)2 0.0110000原原 0.0110000 (0.6875)10(0.1011)2 (0.1011000)2 0.1011000原原1.10110002022-3-2025 例:设机器字长为例:设机器字长为8位,写出位,写出37和和37的二进的二进制原码,并用十六进制表示。制原码,并

17、用十六进制表示。 解:解: (37)10(100101)2 (00100101)2 00100101原原0010010125H (37)10(100101)2 (00100101)2 00100101原原10100101=A5H 可见可见将将x原原的符号取反即可得到的符号取反即可得到x原原2022-3-20262. 2. 原码中原码中 0 的表示的表示 原码中原码中“0”有两种表示有两种表示 纯小数原码纯小数原码 0原原0.000 0原原1.000 纯整数原码纯整数原码 0原原000 0原原1002022-3-2027 对于对于纯小数纯小数,n n1 1位原码的表示范围:位原码的表示范围: 0

18、.1110.11111110.1110.1111111 n n位位 n n位位 即即(1(12 2n n) ) (1(12 2n n) ) 纯小数纯小数n n1 1位原码中有一位是符号位原码中有一位是符号 对于对于纯整数纯整数,n n1 1位原码的表示范围:位原码的表示范围: 11111111111111111111 n n位位 n n位位 即即(2(2n n1) 1) (2(2n n1)1) 纯整数纯整数n n1 1位原码中有一位是符号位原码中有一位是符号3. 3. 原码的表数范围原码的表数范围2022-3-2028 因为原码中因为原码中“0”有两种表示方式,有两种表示方式,所以所以 n1

19、位的原码共可表示位的原码共可表示 2n11 个数个数2022-3-20294. 4. 原码的移位规则原码的移位规则 符号位不变,数值部分左移或右移,移符号位不变,数值部分左移或右移,移出的空位填出的空位填“0”。 例:例: 0.01100000.0110000原原 0.01100000.0110000 0.0110000 0.0110000原原0.00110000.0011000 2 20.01100000.0110000原原0.11000000.1100000 21注意注意左移时不要将有效位移出,否则左移时不要将有效位移出,否则将会出错。将会出错。2022-3-20305. 5. 原码的特点

20、原码的特点 原码表示直观、易懂,与真值的转换容易。原码表示直观、易懂,与真值的转换容易。 原码表示中原码表示中0有两种不同的表示形式,给有两种不同的表示形式,给使用带来了不便。使用带来了不便。 通常通常0的原码用的原码用0原原表示,若在计算过程中表示,若在计算过程中出现了出现了0原原,则需要用硬件将,则需要用硬件将0原原变为变为0原原。 原码表示的加减运算复杂。原码表示的加减运算复杂。2022-3-2031 利用原码进行两数相加运算时,首先要利用原码进行两数相加运算时,首先要判别两数符号,若同号则做加法,若异判别两数符号,若同号则做加法,若异号则做减法。号则做减法。 在利用原码进行两数相减运算

21、时,不仅在利用原码进行两数相减运算时,不仅要判别两数符号,使得同号相减,异号要判别两数符号,使得同号相减,异号相加;还要判别两数绝对值的大小,用相加;还要判别两数绝对值的大小,用绝对值大的数减去绝对值小的数,取绝绝对值大的数减去绝对值小的数,取绝对值大的数符号为结果的符号。对值大的数符号为结果的符号。 可见原码表示不便于实现加减运算。可见原码表示不便于实现加减运算。2022-3-20322.2.3 2.2.3 补码表示补码表示 引入补码的目的是为了解决原码表示在引入补码的目的是为了解决原码表示在加减运算时的不便。加减运算时的不便。 1. 1. 模的概念模的概念 根据运算时根据运算时“模模”的概

22、念的概念 5 52 25 58 83 3 (mod 10 10) 对于某一确定的模,某数减去一个数,对于某一确定的模,某数减去一个数,可以用加上那个数的负数的补数来代替。可以用加上那个数的负数的补数来代替。 2022-3-2033 x补补Mx (mod M) 当当x0时,时,Mx 大于大于M,把,把M丢掉,所以丢掉,所以x补补x ,即,即正数的补数等于其本身正数的补数等于其本身。 当当x0时,时,x补补MxM|x|,所以,所以负数负数的补数等于模与该数绝对值之差的补数等于模与该数绝对值之差。2022-3-20342. 2. 补码的定义补码的定义 在计算机中,由于数据是用二进制编码在计算机中,由

23、于数据是用二进制编码表示的,所以把补数称为表示的,所以把补数称为补码补码。 对于纯小数表示,通常取模对于纯小数表示,通常取模 M2 对于纯整数表示,通常取模对于纯整数表示,通常取模 M2n1 (n为除符号位以外数值位的位数为除符号位以外数值位的位数)2022-3-2035 纯小数的补码定义纯小数的补码定义 纯整数的补码定义纯整数的补码定义)2 (Mod 0 x2- x2x0 xx1nn1nn2补2) (Mod 0 x1- x21x0 xx补2022-3-2036 例:例: x0.1011 x补补0.1011 x0.1011 x补补2x10.00000.10111.0101 x1011 x补补0

24、1011 x1011 x补补25x1000001011101012022-3-2037 补码中补码中“0”的表示是唯一的的表示是唯一的 0补补0补补0.000 (纯小数)纯小数) 0补补0补补000 (纯整数)纯整数)3. 特殊数的补码表示特殊数的补码表示 补码表示的最小数可以表示到补码表示的最小数可以表示到1或或2n 对于纯小数对于纯小数 1补补2(1)1.000 (mod 2) 对于纯整数对于纯整数 2n补补2n1(2n)1000 (mod 2n1)2022-3-2038 因为补码可以表示因为补码可以表示1(纯小数)和(纯小数)和2n(纯(纯整数),所以补码的表数范围比原码大。整数),所以

25、补码的表数范围比原码大。 1补补1.000 2n补补1000 对于对于1和和2n的补码,符号位上的的补码,符号位上的 1 具有特具有特殊意义,既表示符号也表示数值殊意义,既表示符号也表示数值。 补码中每一种编码都有独立的意义。补码中每一种编码都有独立的意义。 对于对于n1位补码,其表数范围为:位补码,其表数范围为: 纯小数纯小数 112n 共共2n1个数个数 纯整数纯整数 2n2n1 共共2n1个数个数结结论论2022-3-20394. 4. 补码的简便求法补码的简便求法 若若x0,则,则x补补x,符号位为,符号位为0 若若x0,则将,则将x的各位取反,然后在最低位上加的各位取反,然后在最低位

26、上加1,符号位等于符号位等于1,即得到,即得到x补补。 例:例: x0.1011001,x补补0.1011001 x0.1011001 x补补1.01001100.00000011.0100111 x1101010,x补补01101010 x1101010,x补补100101102022-3-20405. 补码的几何性质补码的几何性质 当当n3时,纯整数的补码为:时,纯整数的补码为:真值 补码 真值 补码 000 (0) 0000 001 (1) 1111 001 (1) 0001 010 (2) 1110 010 (2) 0010 011 (3) 1101 011 (3) 0011 100

27、(4) 1100 100 (4) 0100 101 (5) 1011 101 (5) 0101 110 (6) 1010 110 (6) 0110 111(7) 1001 111(7) 0111 1000(8) 1000 真值 补码 真值 补码 000(0) 0000 001(1) 1111 001(1) 0001 010(2) 1110 010(2) 0010 011(3) 1101 011(3) 0011 100(4) 1100 100(4) 0100 101(5) 1011 101(5) 0101 110(6) 1010 110(6) 0110 111(7) 1001 111(7) 01

28、11 1000(8) 1000 2022-3-2041 真值 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 补码 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 2022-3-2042 正数的补码就是其本身,负数的补码表示的正数的补码就是其本身,负数的补码表示的实质是把负数映像到正值区域,因此加上一个实质是把负数映像到正值区域,因此加上一个负数或减去一个正数可以用加上另一个数负数或减去一个正数可以用加上另一个数(补码补码)

29、来代替。来代替。 从表示符号的角度看,符号位的值代表了数从表示符号的角度看,符号位的值代表了数的正确符号,的正确符号,0表示正数,表示正数,1表示负数。从映像表示负数。从映像值来看,符号位的值是映像值的一个数位,因值来看,符号位的值是映像值的一个数位,因此在补码运算中,符号位与数值位一样参加运此在补码运算中,符号位与数值位一样参加运算。算。 补码的几何性质说明了补码运算的基础。补码的几何性质说明了补码运算的基础。补码的几何性质补码的几何性质 原码运算时符号位不能参加运算。原码运算时符号位不能参加运算。注意注意2022-3-20435.5.补码的几个关系补码的几个关系 1) 补码与原码的关系补码

30、与原码的关系 若若 x x00,则,则xx补补xx原原 若若 x x0 0,则将除符号位以外的,则将除符号位以外的xx原原各位取反各位取反( (符号位不变符号位不变) ),然后在最低位上加,然后在最低位上加1 1,即得到,即得到xx补补。反之,将除符号位以外的。反之,将除符号位以外的xx补补的各位的各位取反取反( (符号位不变符号位不变) ),然后在最低位上加,然后在最低位上加1 1,即,即得到得到xx原原。 补码中特殊数补码中特殊数1 1(纯小数)和(纯小数)和2 2n n(纯整数)的表示,在原码中没有对(纯整数)的表示,在原码中没有对应表示。应表示。注意注意2022-3-2044 例:例:

31、 x0.1001100 x原原0.1001100 x补补0.1001100 x0.1001100 x原原1.1001100 x补补1.0110100 x1001100 x原原01001100 x补补01001100 x1001100 x原原11001100 x补补101101002022-3-20452) 2) 补码与机器负数的关系补码与机器负数的关系 在补码运算中称在补码运算中称 x补补为为机器正数机器正数, x补补为为机器机器负数负数。 已知已知x补补,求机器负数的方法:,求机器负数的方法: 将将x补补的各位的各位(含符号位含符号位)取反,然后在最低位上取反,然后在最低位上加加1,即可得到

32、,即可得到x补补。反之亦然。反之亦然。 求求x补补,也称为,也称为对对x补补的求补的求补。2022-3-2046 例:例: x补补1.0011010 x补补0.1100110 x补补10110010 x补补01001110 简单求补方法简单求补方法:在取反过程中,低位最后一个:在取反过程中,低位最后一个1不变,最后一个不变,最后一个1后的后的0也都不变。也都不变。2022-3-20473) 3) 补码的移位规则补码的移位规则 补码的补码的右移规则右移规则: 符号位不变,数值位各位向右移位,符号位不变,数值位各位向右移位,高位高位移空位置补与符号位相同的代码移空位置补与符号位相同的代码。 补码的

33、补码的左移规则左移规则: 连同符号位同时左移,连同符号位同时左移,低位移空位置补低位移空位置补0 0。如果移位后符号位与移位前符号位不一致,如果移位后符号位与移位前符号位不一致,说明移位出错,将有效位移出了。说明移位出错,将有效位移出了。2022-3-2048 例:例: xx补补1.0011010 x1.0011010 x补补1.10011011.1001101 x x补补0.0110010 x0.0110010 x补补0.00110010.0011001 x x补补10110010 x10110010 x补补1101100111011001 x x补补1.1111010 2x1.111101

34、0 2x补补1.11101001.1110100 x x补补10110010 2x10110010 2x补补0110010001100100212121出错!出错!2022-3-20496. 6. 补码的模补码的模 补码总是对确定的模而言的。如果补码运算结补码总是对确定的模而言的。如果补码运算结果超过了模,则模将自动丢失。果超过了模,则模将自动丢失。 补码运算在运算过程中,模不能改变。补码运算在运算过程中,模不能改变。 因为整数补码的模不同,所以不能将不同位数因为整数补码的模不同,所以不能将不同位数的补码直接进行运算。如需进行运算,需要进的补码直接进行运算。如需进行运算,需要进行行符号扩展符号

35、扩展。 例例2.18 2.18 xx补补yy补补0110011011011101 1 00111 001100110011 xx补补yy补补110101111101011110111011 11010111110101111111101111111011 1 110100101 1101001011010010110100102022-3-20507. 7. 补码的特点补码的特点 在补码表示中,用符号位在补码表示中,用符号位x0表示数值的正负,表示数值的正负,形式与原码表示相同,即形式与原码表示相同,即0正正1负。但补码的符负。但补码的符号可以看作是数值的一部分参加运算。号可以看作是数值的一部

36、分参加运算。 在补码表示中,数值在补码表示中,数值“0”只有一种表示方法,只有一种表示方法,即即000。 负数补码的表示范围比负数原码的表示范围负数补码的表示范围比负数原码的表示范围略宽。纯小数的补码可以表示到略宽。纯小数的补码可以表示到“1”,纯整,纯整数的补码可以表示到数的补码可以表示到“2n”。 由于补码表示中的符号位可以与数值位一起参由于补码表示中的符号位可以与数值位一起参加运算,并且可以将减法转换为加法进行运算,加运算,并且可以将减法转换为加法进行运算,简化了运算过程,因此计算机中均采用补码进简化了运算过程,因此计算机中均采用补码进行加减运算。行加减运算。2022-3-20512.2

37、.4 2.2.4 反码表示反码表示 反码实质上是补码的一个特例,其特别之处在于反码实质上是补码的一个特例,其特别之处在于反码的模比补码的模小一个最低位上的反码的模比补码的模小一个最低位上的 1。 1. 反码的定义反码的定义 纯小数反码的定义(纯小数反码的定义(n为小数点后的数值位数)为小数点后的数值位数) 纯整数反码的定义纯整数反码的定义 (n为除符号外的数值位数)为除符号外的数值位数))22 (Mod 0 x1- x221x0 xxnn反)2 (Mod 0 x2- x22x0 xx1nn1nn11反2022-3-20522. 2. 反码的求法反码的求法 若若x0 则则x反反x,符号位为,符号

38、位为0 若若x0,则将,则将x的各位取反,符号位等于的各位取反,符号位等于1,即得,即得到到x反反。 例例2.19 x0.1001100 则则x反反0.1001100 x0.1001100 则则x反反1.0110011 x1001100 则则x反反01001100 x1001100 则则x反反101100112022-3-20533. 3. 反码中反码中“0 0”的表示的表示 反码中反码中“0”有两种表示有两种表示 纯小数反码纯小数反码 0反反0.000 0反反1.111 纯整数反码纯整数反码 0反反000 0反反1112022-3-20544. 4. 反码的表数范围反码的表数范围 反码的表数

39、范围与原码相同。反码的表数范围与原码相同。 在纯小数反码中不能表示在纯小数反码中不能表示“1” 在纯整数反码中不能表示在纯整数反码中不能表示“2n”2022-3-2055 若若 x0,则,则x反反x原原 若若 x0,则将除符号位以外的,则将除符号位以外的x原原各位各位取反取反(符号位不变符号位不变),即得到,即得到x反反。 若若x0,将除符号位以外的,将除符号位以外的x反反的各位取的各位取反反(符号位不变符号位不变),即得到,即得到x原原。5. 5. 反码与原码的关系反码与原码的关系2022-3-20565. 5. 反码的特点反码的特点 在反码表示中,用符号位在反码表示中,用符号位x0表示数值

40、的正负,表示数值的正负,形式与原码表示相同,即形式与原码表示相同,即0正正1负。负。 在反码表示中,数值在反码表示中,数值0有两种表示方法。有两种表示方法。 反码的表示范围与原码的表示范围相同。注反码的表示范围与原码的表示范围相同。注意,纯小数的反码不能表示意,纯小数的反码不能表示“1”,纯整数的,纯整数的反码不能表示反码不能表示“2n”。 反码表示在计算机中往往作为数码变换的中间反码表示在计算机中往往作为数码变换的中间环节。环节。 2022-3-20572.2.5 2.2.5 移码表示移码表示 移码也称为增码、余码。在计算机中,移码主要移码也称为增码、余码。在计算机中,移码主要用于表示浮点数

41、的阶码。用于表示浮点数的阶码。 1. 移码的定义移码的定义 纯小数移码的定义纯小数移码的定义 xx移移1 1x x 1x1x1 1 纯整数移码的定义纯整数移码的定义 xx移移2 2n nx x 2 2n nxx2 2n n n n为除符号外的数值位数为除符号外的数值位数 由于移码通常用于表示浮点数的阶码。所以主要由于移码通常用于表示浮点数的阶码。所以主要考虑考虑整数的移码表示整数的移码表示。2022-3-2058 例:在字长为例:在字长为8位的机器中,位的机器中,x移移27x 设设 x1100101 则则 x移移271100101100000001100101 11100101 设设 x110

42、0101 则则 x移移27 (1100101) 100000001100101000110112022-3-2059移码的几何性质移码的几何性质 当当n n3 3时,纯整数的移码为:时,纯整数的移码为: 真值真值 移码移码 真值真值 移码移码 000000(0 0) 1000 1000 001001(1 1) 01110111001001(1 1) 1001 1001 010010(2 2) 01100110010010(2 2) 1010 1010 011011(3 3) 01010101011011(3 3) 1011 1011 100100(4 4) 01000100100100(4 4

43、) 1100 1100 101101(5 5) 00110011101101(5 5) 1101 1101 110110(6 6) 00100010110110(6 6) 1110 1110 111111(7 7) 00010001111111(7 7) 1111 1111 10001000(8 8) 000000002022-3-206001234567-1-2-3-4-5-6-7-80000001001001000101011001110011000010011010110011011110111110111移码的几何性质移码的几何性质真值真值移码移码2022-3-2061 移码表示的实质

44、是把真值映像到一个正移码表示的实质是把真值映像到一个正数域,因此移码的大小可直观地反映真数域,因此移码的大小可直观地反映真值的大小。值的大小。 不管正数还是负数,用移码表示时,都不管正数还是负数,用移码表示时,都可以按无符号数比较大小可以按无符号数比较大小。2022-3-2062移码中移码中“0 0”的表示的表示 移码中移码中“0 0”的表示是唯一的的表示是唯一的 00移移 00移移10100 0 (纯整数)纯整数) 移码的表数范围与补码一致移码的表数范围与补码一致 纯整数移码表示的最小数可以表示到纯整数移码表示的最小数可以表示到2 2n n2022-3-20632. 2. 移码与补码的关系移

45、码与补码的关系 整数补码的数值部分不变,符号取反,整数补码的数值部分不变,符号取反,即得整数移码。反之亦然。即:即得整数移码。反之亦然。即: x0 x0时时 xx移移xx补补2 2n n x x0 0时时 xx移移xx补补2 2n n2022-3-20643. 3. 移码的特点移码的特点 设设x移移x0 x1x2 xn,符号位,符号位x0表示真值表示真值x的的正负:正负: x01,x为正;为正;x00,x为负。为负。 真值真值0的移码表示只有一种形式。的移码表示只有一种形式。 移码与补码的表示范围相同。移码与补码的表示范围相同。 纯小数的移码可以表示到纯小数的移码可以表示到“1”, 1移移0.

46、00; 纯整数的移码可以表示到纯整数的移码可以表示到“2n”, 2n移移000 , n为数值部分的长度。为数值部分的长度。2022-3-2065 真值大时,对应的移码也大;真值大时,对应的移码也大; 真值小时,对应的移码也小。真值小时,对应的移码也小。 当当x移移 0时,时,x为编码所能够表示的最小值为编码所能够表示的最小值。2022-3-20664 4. 移数值为移数值为K的移码的移码 根据移码的几何性质,可以将移码的定义进行根据移码的几何性质,可以将移码的定义进行扩展,得到特殊的移码为:扩展,得到特殊的移码为: 移码移码K实际数值实际数值 K:约定的移数值:约定的移数值 例:移例:移127

47、码,移数值为码,移数值为127,即:,即: 移移127码码127实际数值实际数值2022-3-2067 例:求例:求12和和3的的8位移位移127码的二进制编码码的二进制编码形式。形式。 解:解: (12)101100, 12移移127码码12712(139)10 (11111111100)2 (10001011)2 (3)1011, 3移移127码码1273(124)10 (111111111)2 (01111100)22022-3-2068不同码制之间的转换不同码制之间的转换 x真 值 x原 x补 x移 x反 -x补 符 号 位x0不 变 x0 0数 值 位 不 变 x0 1数 值 位 取

48、 反 符 号 为 : X0 0 符 号 为 : X0 1 数 值 位 不 变 符 号 位x0不 变 x0 0 数 值 位 不 变 x0 1 数 值 位 取 反 , 末 位 加1 符 号 位 取 反 数 值 位 不 变 符 号 位 取 反 数 值 位 取 反 , 末 位 加1 2022-3-2069 例:设某计算机的字长为例:设某计算机的字长为8位,采用整数表示。位,采用整数表示。求表中机器数在不同表示形式中对应的十进制求表中机器数在不同表示形式中对应的十进制真值。真值。 表示方法表示方法机器数机器数原码原码补码补码反码反码移码移码无符号数无符号数010010011010110111111111

49、734512773831738205545127731732552022-3-20702.3 2.3 数的定点表示与浮点表示数的定点表示与浮点表示 任何一个数均可表示为:任何一个数均可表示为: (N)RSRe R:基值。计算机中常用的基值。计算机中常用的R可取可取2、8、16等。等。 S:尾数。代表数:尾数。代表数N的有效数字。计算机中一般的有效数字。计算机中一般表示为纯小数。表示为纯小数。 e:阶码。代表数:阶码。代表数N的小数点的实际位置。一般的小数点的实际位置。一般表示为纯整数。表示为纯整数。 例:例:(123.45)101234510-20.12345103 (11011.101)20

50、.11011101250.110111012101 1101110123110111012112022-3-20712.3.1 2.3.1 定点表示定点表示 定点表示定点表示:约定计算机中所有数据的小数点位:约定计算机中所有数据的小数点位置均是相同的而且是固定不变的。置均是相同的而且是固定不变的。 定点表示是一种阶码定点表示是一种阶码e的取值固定不变的机器的取值固定不变的机器数表示。数表示。 当采用定点表示时,当采用定点表示时,(N)R SRe 中中e的取的取值固定不变。值固定不变。 定点数有两种表示方法:定点小数和定点整数。定点数有两种表示方法:定点小数和定点整数。 机器确定后,机器确定后,

51、e就确定了,不能更改,也不能就确定了,不能更改,也不能两者并存。两者并存。2022-3-20721. 1. 定点小数定点小数 e e0 0,表示纯小数,约定小数点在符号位与最,表示纯小数,约定小数点在符号位与最高数值位之间。高数值位之间。 定点小数的格式定点小数的格式小数点(隐含表示)小数点(隐含表示)数符数符尾数尾数x xn nx xn-1n-1 x x1 1x x0 02022-3-20732. 2. 定点整数定点整数 e en n,表示纯整数,约定小数点在最低,表示纯整数,约定小数点在最低有效数值位之后。有效数值位之后。 定点整数的格式定点整数的格式数符数符尾数尾数x xn nx xn-

52、1n-1 x x1 1x x0 0小数点(隐含表示)小数点(隐含表示)2022-3-20743. 3. 定点数的表示范围定点数的表示范围 设数据为设数据为N,机器字长为,机器字长为n1,其中,其中1位位符号位,符号位,n位数值位。在不同的表示方法位数值位。在不同的表示方法下,所能表示的数的范围不同。下,所能表示的数的范围不同。 原码表示原码表示 二进制定点小数的表示范围为:二进制定点小数的表示范围为: 0N12n 二进制定点整数的表示范围为:二进制定点整数的表示范围为: 0N 2n12022-3-2075机器数机器数真真 值值数数符符尾数尾数(n(n位位) )定点小数定点小数定点整数定点整数最

53、小正数最小正数0 0 00 00 01 012 2n n1 1最大正数最大正数0 0 11 11 11 111 12 2n n2 2n n1 1最大负数最大负数1 1 00 00 01 012 2n n1 1最小负数最小负数1 1 11 11 11 11(1(12 2n n) )(2(2n n1)1)定点原码数的表示范围定点原码数的表示范围2022-3-2076 反码表示反码表示 定点反码数的表示范围与定点原码数的表示范定点反码数的表示范围与定点原码数的表示范围相同。定点反码表示的表示范围为:围相同。定点反码表示的表示范围为:机器数机器数真真 值值数数符符尾数尾数(n(n位位) )定点小数定点

54、小数定点整数定点整数最小正数最小正数0 0 00 00 01 012 2n n1 1最大正数最大正数0 0 11 11 11 111 12 2n n2 2n n1 1最大负数最大负数1 1 11 11 10 102 2n n1 1最小负数最小负数1 1 00 00 00 00(1(12 2n n) )(2(2n n1)1)2022-3-2077 补码表示补码表示 二进制定点小数的表示范围为:二进制定点小数的表示范围为: 1N11N12 2n n 二进制定点整数的表示范围为:二进制定点整数的表示范围为: 2 2n nN2N2n n1 12022-3-2078定点补码数的表示范围定点补码数的表示范

55、围机器数机器数真真 值值数数符符尾数尾数(n(n位位) )定点小数定点小数定点整数定点整数最小正数最小正数0 0 00 00 01 012 2n n1 1最大正数最大正数0 0 11 11 11 111 12 2n n2 2n n1 1最大负数最大负数1 1 11 11 11 112 2n n1 1最小负数最小负数1 1 00 00 00 001 12 2n n2022-3-2079 移码表示移码表示 定点移码数的表示范围与定点补码码数的表示范定点移码数的表示范围与定点补码码数的表示范围相同。其表示范围为:围相同。其表示范围为:机器数机器数真真 值值数数符符尾数尾数(n(n位位) )定点小数定

56、点小数定点整数定点整数最小正数最小正数1 1 00 00 01 012 2n n1 1最大正数最大正数1 1 11 11 11 111 12 2n n2 2n n1 1最大负数最大负数0 0 11 11 11 112 2n n1 1最小负数最小负数0 0 00 00 00 001 12 2n n2022-3-2080 在补码和移码表示范围中,最小负数比原码和在补码和移码表示范围中,最小负数比原码和反码表示范围大一个数,定点小数为反码表示范围大一个数,定点小数为“1 1”,定点整数为定点整数为“2 2n n”。 以定点整数为例,原码和补码表示范围的数轴以定点整数为例,原码和补码表示范围的数轴表示

57、形式为:表示形式为:0 0+1+12 2n n-1-1-1-1-(2-(2n n-1)-1)111111111010000000000000101001010000010101011111原码原码0 0+1+12 2n n-1-1-1-1-(2-(2n n-1)-1)1010010100000000111111110000010101011111补码补码-2-2n n101000002022-3-2081 从数轴中可见,最大负数到最小负数,最小正从数轴中可见,最大负数到最小负数,最小正数到最大正数之间以及数到最大正数之间以及 0 0,为机器数所能表达,为机器数所能表达的数。的数。0 0最最小小

58、负负数数负数区负数区机器零机器零上溢区上溢区下溢区下溢区正数区正数区上溢区上溢区最最大大负负数数最最小小正正数数最最大大正正数数2022-3-2082 机器零机器零:小于机器数最小正数,大于机器数最:小于机器数最小正数,大于机器数最大负数的数。大负数的数。 正溢出正溢出:大于机器数最大正数的数。:大于机器数最大正数的数。 负溢出负溢出:小于机器数最小负数的数。:小于机器数最小负数的数。 因为正溢出和负溢出都表示数的绝对值超出了因为正溢出和负溢出都表示数的绝对值超出了机器数所能表示的最大绝对值,所以称这类数机器数所能表示的最大绝对值,所以称这类数处于处于上溢区上溢区。 因为属于机器零的数均小于机

59、器数所能表示的因为属于机器零的数均小于机器数所能表示的最小绝对值,所以称这类数处于最小绝对值,所以称这类数处于下溢区下溢区。2022-3-20833. 3. 定点数的分辨率定点数的分辨率 定点数在数轴上的分布是不连续的,定定点数在数轴上的分布是不连续的,定点数的分辨率是指相邻两个定点数之间点数的分辨率是指相邻两个定点数之间的最小间隔。的最小间隔。 字长为字长为n1的定点小数的分辨率为的定点小数的分辨率为2n; 字长为字长为n1的定点整数的分辨率为的定点整数的分辨率为1。 2022-3-20844. 4. 定点机的特点定点机的特点 硬件上只考虑定点小数或定点整数运算硬件上只考虑定点小数或定点整数

60、运算的计算机称为的计算机称为定点机定点机。 定点机的优点定点机的优点:运算简单,硬件结构比运算简单,硬件结构比较简单。较简单。 定点机存在的问题:定点机存在的问题: 所能表示的数据范围小所能表示的数据范围小。 使用不方便,运算精度较低使用不方便,运算精度较低 。 存储单元利用率低。存储单元利用率低。2022-3-2085 定点机的数据存储单元的利用率往往很定点机的数据存储单元的利用率往往很低。低。 例如在采用定点小数的机器中,必须把例如在采用定点小数的机器中,必须把所有参加运算的数据至少都除以这些数所有参加运算的数据至少都除以这些数据中的最大数,才能把所有数据都化成据中的最大数,才能把所有数据

温馨提示

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

评论

0/150

提交评论