补充数据在计算机中的表示_第1页
补充数据在计算机中的表示_第2页
补充数据在计算机中的表示_第3页
补充数据在计算机中的表示_第4页
补充数据在计算机中的表示_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

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

文档简介

1、补充补充 数据在计算机中的表示数据在计算机中的表示n概述概述n字符编码字符编码n中文编码中文编码n逻辑数据逻辑数据n数值数据数值数据n校验码校验码 概述概述q计算机中最重要的功能是处理信息,如:数值、文字、符号、语言和图象等。计算机内部,各种信息都必须采用数字化编码的形式被传送、存储、加工。因此掌握信息编码的概念与处理技术是至关重要的。q所谓编码,就是用少量简单的基本符号,选用一定的组合规则,以表示出大量复杂多样的信息。概述概述n常用的信息分为: 定点数(fixed-point) 数值信息 浮点数(floating-point) 字符(character) 非数值信息 汉字(Chinese c

2、haracter) 逻辑数据(logical data)字符编码字符编码n用一定位数的二进制数“0”和“1”进行编码给出。n常用的字符编码ASCII码。nASCII (American Standard Code for Information Interchange)字符编码字符编码码是美国信息交换标准代码。码是美国信息交换标准代码。( ( merican tandard ode for nformation nterchange) )包括包括0- -9十个数字,大小写英文字母十个数字,大小写英文字母及专用符号等及专用符号等95种可打印字符。另有种可打印字符。另有3333不可不可打印字符,被

3、用于控制码。打印字符,被用于控制码。1000011 1101111 11011011110000 1110101 11101001100101 11100107 6 5 4 3 2 1中文编码中文编码n汉字输入码:为便于汉字进行输入时的编码,汉字输入码:为便于汉字进行输入时的编码,将汉字代码化。将汉字代码化。n汉字机内码:用于汉字信息的存储、交换、汉字机内码:用于汉字信息的存储、交换、检索等操作的机内代码。一般用两个字节表检索等操作的机内代码。一般用两个字节表示。示。n汉字字型码:汉字输出时的编码。用点阵表汉字字型码:汉字输出时的编码。用点阵表示。示。精密型精密型4848 4848288288

4、提高型提高型3232 3232128128普及型普及型2424 24247272简易型简易型1616 16163232汉字点阵类型汉字点阵类型点阵点阵占用字节数占用字节数显示输出显示输出打印输出打印输出机内码向字形码转换机内码向字形码转换机内码机内码输入码向机内码转换输入码向机内码转换中文编码中文编码字符代码化(输入)字符代码化(输入)数字码数字码拼音码拼音码字形码字形码逻辑数据逻辑数据逻辑型数据只有两个值:逻辑型数据只有两个值:真真 和和 假假,正好可以用二进制码的两个符号分别表示,正好可以用二进制码的两个符号分别表示,例如例如 1 表示表示 真真 则则 0 表示表示 假假不必使用另外的编码

5、规则。不必使用另外的编码规则。对逻辑型数据可以执行逻辑的对逻辑型数据可以执行逻辑的 与与 或或 非非等基本等基本逻辑运算。其规则如下逻辑运算。其规则如下逻辑数据逻辑数据 输入输入 输出输出 x y X与y X或yX的非00001010111001011110数值数据数值数据q 定点数定点数q 浮点数浮点数q 十进制数串十进制数串数值数据数值数据定点数的表示方法定点数的表示方法 定点表示定点表示:约定机器中所有数据的小数点位置是固定不变的。由于约定在固定的位置,小数点就不再使用记号“.”来表示。通常将数据表示成纯小数纯小数或纯整数纯整数。定点数xx0 x1x2xn 在定点机中表示如下(0为符号位

6、,0代表正号,1代表负号):纯小数纯小数的表示范围为(x0 x1x2xn 各位均为0时最小;各位均为1时最大)0|12n 纯整数纯整数的表示范围为0|2n1 数值数据数的机器码表示数的机器码表示 在计算机中对数据进行运算操作时,在计算机中对数据进行运算操作时,符号位如何表示呢?是否也同数值位一符号位如何表示呢?是否也同数值位一道参加运算操作呢?为了妥善的处理好道参加运算操作呢?为了妥善的处理好这些问题,就产生了把符号位和数字位这些问题,就产生了把符号位和数字位一起编码来表示相应的数的各种表示方一起编码来表示相应的数的各种表示方法,如原码、补码、反码、移码等。通法,如原码、补码、反码、移码等。通

7、常将前者称为常将前者称为真值真值,后者称为,后者称为机器数机器数或或机器码机器码。 数值数据原码表示法原码表示法 定点小数定点小数X表示表示: Ns. N: Ns. N1 1 N N2 2 Nn Nn 定义定义: X 原原 = 定点整数定点整数X表示:表示:Ns N1 N2 Nn 定义定义: X 原原 =X, 0 X 11-X, -1 X 0X, 0 X 2n 2n-X, - 2n X 0数值数据原码表示法原码表示法n实例:实例:X1 = 0.10110 -0.10110 0.0000 X 原原= 0.10110 1.10110 0.0000 1.0000 n实例:实例:X1 = 10110

8、-10110 0000 X 原原= 010110 110110 00000 10000 数值数据原码表示法原码表示法性质: 原码为符号位加上数的绝对值,0正1负 原码零有两个编码,+0和 -0编码不同 原码难以用于加减运算,但乘除方便 N+1位二进制原码所表示的范围为:小数:MAX=1-2-n ,MIN=( 1-2-n )整数:MAX= 2n-1, MIN=( 2n-1) 数值数据数值数据原码表示法原码表示法原码的优点是:简单易懂。原码的优点是:简单易懂。 缺点是:难以用于加减运算。原因是:缺点是:难以用于加减运算。原因是:如果是异号相加,则要进行减法运算。首先如果是异号相加,则要进行减法运算

9、。首先要比较绝对值的大小,然后大数减小数,最要比较绝对值的大小,然后大数减小数,最后确定符号。后确定符号。为了便于加减运算,采用了补码表示。为了便于加减运算,采用了补码表示。数值数据补码表示法 补码是在“模”和“同余”的概念下导出的。 “模”是指一个计量系统的计量范围,即产生“溢出”的量。数值数据补码表示法补码表示法 补码是在“模”和“同余”的概念下导出的。 “模”是指一个计量系统的计量范围,即产生“溢出”的量。 在计算机中,机器能表示的数据位数是一定的,其运算都是有模运算。如果是n位整数,其模为2n。如果是n位小数,其模为2。 若运算结果超出了计算机所能表示的数值范围,则只保留它的小于模的低

10、n位的数值,超过n位的高位部分就自动舍弃了。数值数据补码表示法补码表示法定义: 任意一个X的补码为X补,可以用该数加上其模M来表示。 X补=X+M数值数据补码表示法补码表示法定点小数表示: Ns. N1 N2 Nn 定义: X 补 = (MOD 2) 定点整数表示:Ns N1 N2 Nn 定义: X 补 = (MOD 2n+1) X 2+ X0 X 1 -1 X 0 X 2n+1 + X;0 X 2n - 2n X 0数值数据补码表示法补码表示法实例:实例:X1 = 0.10110 -0.10110 0.0000 X 补补 = 0.10110 1.01010 0.0000 n实例:实例:X1

11、= 10110 -10110 0000 X 补补 =010110 101010 00000 数值数据补码表示法补码表示法n由于正数的补码就是正数本身,故着重讲解负数求补码负数求补码的方法。数值数据补码表示法补码表示法(1)由定义求由定义求例:例:X补=2+X=10+(-0.1101001)=1.0010111n例例: X=- 1101001 解解: 反过来,由补码求真值,只要将公式进行交换反过来,由补码求真值,只要将公式进行交换即可即可。数值数据补码表示法补码表示法X补补=28+X=100000000+(-1101001)=10010111数值数据补码表示法补码表示法(2)由原码求补码除符号位

12、以外,其余各位求反,末位加1。例:X=- 0.0101011解:X原= 1 0 1 0 1 0 1 1 X补=1 111000 0+1 1 1 0 1 0 1 0 1由补码求由补码求原码,此原码,此规则同样规则同样适用适用。数值数据补码表示法补码表示法n由原码求补码的简便原则: 除符号位以外,其余各位按位取反,从最低位开始遇到的第一个1以前的各位保持不变。例:X原= 1 1 0 1 1 0 1 0 0X补= 1 0 1 0 0 11 0 01 0 0由由-X补补求求X补补,此规则同此规则同样适用样适用。数值数据补码表示法补码表示法(3)由X补求-X补:连符号位一起各位求反,末位加1。例:X补=

13、1.1010101解:X补= 1 1 0 1 0 1 0 1 -X补=0 000111 0+1 0 0 1 0 1 0 1 1数值数据补码表示法补码表示法n(4). 由X补求1/(2X)补:将X补的符号位和数值位一起向右移动一次.符号位移走后保持原来的值不变.例: X补= 10011000X/2补=101010001这称为“算术移位”你会求X/4补和X/8补吗?数值数据补码表示法补码表示法性质: 0的补码是唯一的 补码便于加减运算 n+1位补码所能表示的数:小数:MAX=1-2-n ,MIN=1整数:MAX= 2n-1, MIN= 2n 数值数据补码表示法补码表示法n补码便于加减运算,因为不论

14、正、负数它只补码便于加减运算,因为不论正、负数它只需要做加运算。但负数的求补需要做一次减需要做加运算。但负数的求补需要做一次减运算,显然有不方便,为此又引入了反码。运算,显然有不方便,为此又引入了反码。数值数据反码表示法反码表示法定点小数表示: Ns. N1 N2 Nn 定义: X 反 =定点整数表示:Ns N1 N2 Nn 定义: X 反 = X; (2-2-n )+ X;0 X 1 -1 X 0X; 0 X 2n( 2n+1 1)+ X; - 2n X 0数值数据反码表示法反码表示法n由原码求反码,如果由原码求反码,如果X为正数,则为正数,则X反反=X原原;如果如果X为负数,则将为负数,则

15、将X原原除符号位以外,每位都除符号位以外,每位都变反,可得到变反,可得到X反反。n实例:实例:X1 = 0.10110 -0.10110 0.0000 X 原原 = 0.10110 1.10110 0.0000 1.0000 X 反反 = 0.01001 1.01001 0.0000 1.1111 数值数据反码表示法反码表示法 X 反反 =2+ X -2-n X 补补 = 2+ X 所以所以当当x的真值为负数时:的真值为负数时:有有 X 补补 = X 反反 + 2-n 负数求补:变反加一负数求补:变反加一数值数据移码表示法移码表示法 对于n+1位数x0 x1 x2 xn 定义: X 移 =2n

16、+x; 由于移码是在原值X上加一个2n,所以也称为增码,因此,符号为1时,表示正数,符号为0时,表示负数。例如:例如:X=1101010, 则:则:X补补= 01101010 X移移=27+X =11101010 -2n X 0或0时, 2 () 2,进位2必丢失,又因()0,故补补补(mod 2)当0时, 2 () 2,又因()0,故补补2()补(mod 2)(3)0,则0或 0。这种情况和第2种情况一样,把和的位置对调即得证。 加法公式的证明加法公式的证明(4)0,0,则0。 相加两数都是负数,则其和也一定是负数。补2,补2补补222(2)=2+x+y 所以补补2()补(mod 2)至此我

17、们证明了,在模2意义下,任意两数的补码之和等于该两数之和的补码.这是补码加法的理论基础,其结论也适用于定点整数定点运算器定点运算器 定点加减法定点加减法n例: X0.1011 Y-0.0101,求 X+Y? 解:X补=0. 1 0 1 1Y补=1. 1 0 1 1+丢到1 X补+Y补=0.0110 X+Y=0.01101 0. 0 1 1 0定点运算器定点运算器 定点加减法定点加减法例: X-11001 ,Y-00011,求 X+Y? 解:X补=1 0 0 1 1 1Y补=1 1 1 1 0 1+丢到1 X补+Y补=100100 X+Y=-111001 1 0 0 1 0 0定点运算器定点运算

18、器定点加减法定点加减法补码的减法: X补- Y补=X+(-Y)补=X补+-Y补 (-Y)的补码称为Y补的机器负数,由Y补求-Y补的过程称为将Y补“变补”或对Y补求补,由Y补求-Y补的方法是,不管Y的真值为正或为负,都是将Y补的各位连同符号位在内全变反后,最低位加1。定点运算器定点运算器 定点加减法定点加减法例: X-0.1011 Y-0.0110,求 XY? 解:X补=1. 0 1 0 1-Y补=0. 0 1 1 0+11XY补1.1001 XY=-0.01111. 1 0 0 1定点运算器定点运算器溢出及判别溢出及判别溢出及其判别方法: 在计算机中数的表示范围是有限的,若两数进行加减运算的结

19、果超出了给定的取值范围,就称为溢出。一旦出现溢出,必须及时处理,否则会出现错误。 可以采用两种方法来判别是否产生溢出: 单符号位单符号位法法 双符号位双符号位法法定点运算器定点运算器溢出及判别溢出及判别采用单符号位的判断方法采用单符号位的判断方法 两异号数相加或两同号数相减决不会产生溢出,仅当两同号数相加或两异号数相减时才有可能产生溢出。 两同号数相加时,如果结果的符号与参与运算的操作数符号相反,则表明有溢出;两异号数相减时,如果结果的符号与被减数的符号相反,则表明有溢出。 定点运算器定点运算器溢出及判别溢出及判别利用进位值的判断方法利用进位值的判断方法 两补码数进行加减运算时,若最高数值位产

20、生向符号的进位而符号位不产生进位时,发生正溢出,若最高数值位无进位而符号位有进位时,发生负溢出 溢出判别的逻辑表达式为: V=Cf C0定点运算器定点运算器 溢出及判别溢出及判别例: X-0.100 Y-0.101,求 X+Y? 解:X补=1. 1 0 0Y补=1. 0 1 1+丢到两负数相加,结果应为负数,但运算结果为正数,表明有溢出发生 1 0. 1 1 1定点运算器定点运算器 溢出及判别溢出及判别例: X100 ,Y-11,求 X-Y? 解:X补=0 1 0 0 -Y补=0 1 1 0+一个正数减去一个负数,结果为正数,但计算结果为负数,表明有溢出发生,出错1 0 1 0定点运算器定点运

21、算器 溢出及判别溢出及判别采用双符号位的判断方法采用双符号位的判断方法 每个操作数的补码符号用两个二进制数表示,称为变形补码,用“00”表示正数,“11”表示负数,左边第一位叫第一符号位,右边第一位称为第二符号位,两个符号位同时参加运算,如果运算结果两符号位相同,则没有溢出发生。如果运算结果两符号位不同,则表明产生了溢出。“10”表示负溢出,说明运算结果为负数,“01”表示正溢出,说明运算结果为正数。 溢出判别的逻辑表达式为: VSf1 Sf2例例 0.1100, 0.1000,求。解解: 补00.1100,补00.1000 补 00.1100补 00.1000 01.0100两个符号位出现“

22、01”,表示已溢出,即结果大于1。溢出及判别举例溢出及判别举例溢出及判别举例溢出及判别举例例例 0.1100, -0.1000,求。解解:补11.0100,补11.1000补11.0100补 11.1000 10.1100 两个符号位出现“10”,表示已溢出,即结果小于1。浮点运算器浮点运算器加法、减法运算加法、减法运算例:设X=2010*0.11011011, Y=2100*(-0. 10101100),求X+Y.(假设两数均以补码表示,阶码、尾数都采用双符号位.)浮点运算器浮点运算器加法、减法运算加法、减法运算解:浮点表示为: X浮= 00 010, 00. 11011011 Y浮= 00

23、 100, 11. 01010100()对阶 E=Ex-Ey=00010+11100=11110即E为-2,X的阶码小,应使Mx右移两位, Ex加2,得: X浮=00100, 00.00110110(11)浮点运算器浮点运算器加法、减法运算加法、减法运算+(2).尾数求和 0()11 1()()浮点运算器浮点运算器加法、减法运算加法、减法运算 (3).规格化和舍入处理 结果的符号位与最高符号数值位相同,应执行左规处理,所谓左规格化的规则,就是尾数左移1位,阶码减1,所以结果为11.00010101(10) ,阶码为00 011 舍入处理,采用0舍1入法处理,则有 11. 0 0 0 1 0 1

24、 0 1 1 11. 0 0 0 1 0 1 1 0(4).判溢出 阶码的符号位为00,不溢出。所以最终的结果为 X+Y=2011*(-0.11101010)浮点运算器浮点运算器加法、减法运算加法、减法运算例:设X=2001*(-0.111),Y=2010*0. 101,求X-Y.(假设两数均以补码表示,阶码采用3位,尾数采用4位,均包括符号位.)浮点运算器浮点运算器加法、减法运算加法、减法运算解:浮点表示为: X浮=001,11. 001 Y浮=010,00. 101()对阶E补=Ex补-Ey补=001+110=111 即E为-1,X的阶码小,应使Mx右移1位, Ex加1,得: X浮=010

25、, 11.100(1)浮点运算器浮点运算器加法、减法运算加法、减法运算+(2).尾数求差: -Y补=1.011 11 . 1 0 0 (1)11 . 0 1 1 10 . 1 1 1 (1)丢失1两个负数相加,结果为正数,说明产生了溢出.但是在浮点数的运算中,只有当阶码产生溢出时,才是溢出。此时只是说明尾数的结果为不规格化数,应进行右规。浮点运算器浮点运算器加法、减法运算加法、减法运算 (3).规格化和舍入处理 由于结果产生了溢出,应执行右规处理,所谓右规格化的规则,就是尾数右移1位,阶码加1,所以结果为1.011(1) ,阶码为011 舍入处理,采用恒舍法处理,则有尾数为11.011 浮点运算器浮点运

温馨提示

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

评论

0/150

提交评论