微机基础-202_第1页
微机基础-202_第2页
微机基础-202_第3页
微机基础-202_第4页
微机基础-202_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、v计算机中数的表示和编码 目标: 了解计算机中对数、文本、字符、图形等的表示方式了解计算机中对数、文本、字符、图形等的表示方式 要求能进行进位计数制之间的转换要求能进行进位计数制之间的转换 掌握数的补码表示法及补码运算规则。掌握数的补码表示法及补码运算规则。 1.3 计算机中数的表示和编码计算机中数的表示和编码 微型计算机是微型计算机是微电子学与计算数学微电子学与计算数学相结合的相结合的产物。产物。 微电子学的基本电路元件及其逐步向大规模和微电子学的基本电路元件及其逐步向大规模和超大规模发展的集成电路是现代计算机的硬件基超大规模发展的集成电路是现代计算机的硬件基础础 计算数学的数值计算方法与数

2、据结构是现代计算计算数学的数值计算方法与数据结构是现代计算机的软件基础。机的软件基础。 数据是计算机处理的对象。计算机中的数据是计算机处理的对象。计算机中的“数数据据”是一个广义的概念,包括数值、字母符号、是一个广义的概念,包括数值、字母符号、文字、图形、图像、声音、视频等各种形式。文字、图形、图像、声音、视频等各种形式。 而计算机内部只能采用二进制表示数据。而计算机内部只能采用二进制表示数据。 ? 1.3 计算机中的数的表示和编码计算机中的数的表示和编码计算机内部采用二进制表示数据电路原因如下:计算机内部采用二进制表示数据电路原因如下:计算机的构成以计算机的构成以二值电路二值电路为基础,即用

3、器件的为基础,即用器件的稳定物理状态稳定物理状态来来表示数,如二极管的导通与阻塞,三极管的饱和与截止等。因表示数,如二极管的导通与阻塞,三极管的饱和与截止等。因此,二值电路只能表示出两个数码,如用高电平表示二进制的此,二值电路只能表示出两个数码,如用高电平表示二进制的“1”,则低电平表示二进制的,则低电平表示二进制的“0”。 优点:优点:工作可靠:工作可靠:0和和1两种状态在数字传输和处理中不易出错,两种状态在数字传输和处理中不易出错,使电路更加可靠。使电路更加可靠。简化运算:简化运算:二进制的运算法则简单,易于实现。二进制的运算法则简单,易于实现。逻辑性强:逻辑性强:1和和0正好对应逻辑结果

4、真和假。正好对应逻辑结果真和假。1.3 计算机中的数的表示和编码计算机中的数的表示和编码 数值数据数值数据在计算机中的表示涉及三个方面内容:在计算机中的表示涉及三个方面内容: 1)数制;)数制; 2)符号在机器中的表示,即机器数的表示法;)符号在机器中的表示,即机器数的表示法; 3)小数点的表示与处理,即定点数与浮点数表示)小数点的表示与处理,即定点数与浮点数表示法等。下面将从这三方面进行介绍。法等。下面将从这三方面进行介绍。1.3 计算机中的数的表示和编码计算机中的数的表示和编码1.3.1 数制数制v数制是人们利用符号来计数的数制是人们利用符号来计数的科学方法科学方法。 数制所使用的数码的种

5、数称为该数制的数制所使用的数码的种数称为该数制的基基。 数中各位的数中各位的“1”所代表值称为该位的所代表值称为该位的权权。 因此,在一个数中,每个数码表示的值不仅因此,在一个数中,每个数码表示的值不仅取决于数码本身,还取决于它所处的位置。取决于数码本身,还取决于它所处的位置。 十进制十进制(decimal system)的基为的基为“10”,即它所使用的数码为,即它所使用的数码为0,1,2,3,4,5,6,7,8,9,共有,共有10个。十进制各个。十进制各位的权是以位的权是以10为底的幂,其各位的权为个、十、百、千、为底的幂,其各位的权为个、十、百、千、万、十万,即以万、十万,即以10为底的

6、为底的0次幂、次幂、1次幂、次幂、2次幂等。故为次幂等。故为了简便而顺次称其各位为了简便而顺次称其各位为0权位、权位、1权位、权位、2权位等。如下权位等。如下面这个数:面这个数:1.3.1 数制数制十万 万 千 百 十 个523791=5*105+2*104+3*103+7*102+9*101+1*100二进制(binary system)的基为“2”,即其使用的数码为0,1,共两个。二进制各位的权是以2为底的幂,如下面这个数:1.3.1 数制数制25 24 23 22 21 201 1 0 1 1 1110111=1*25+1*24+0*23+1*22+1*21+1*20进位计数制进位计数制

7、计数制计数制基(基(R)所用数码所用数码位权位权进位方法进位方法十进制数100, 1, 2, 3, 4, 5, 6, 7, 8, 910i逢十进一二进制数20, 12i逢二进一八进制数80, 1, 2, 3, 4, 5, 6, 78i逢八进一十六进制数160, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F16i逢十六进一十进制数:234.56=2*102+3*101+4*100+5*10-1+6*10-2二进制数:1011.01=1*23+0*22+1*21+1*20+0*2-1+1*2-2八进制数:2345.67=2*83+3*82+4*81+5*8

8、0+6*8-1+7*8-2 在日常生活中,通常使用十进制表示方法,而计算在日常生活中,通常使用十进制表示方法,而计算机内部采用的是二进制表示法,有时为了简化二进制数机内部采用的是二进制表示法,有时为了简化二进制数据的书写,也采用八进制和十六进制表示法。据的书写,也采用八进制和十六进制表示法。 为了区别不同进制的数据,可在数的右下角标注。为了区别不同进制的数据,可在数的右下角标注。一般用一般用B(Binary)或)或2表示二进制数,表示二进制数,O(Octave)或)或8表示八进制数,表示八进制数,H(Hexadecimal)或)或16表示十六进制表示十六进制数,数,D(Decimal)或)或1

9、0表示十进制。如果省略进制字表示十进制。如果省略进制字母,则默认为十进制数。母,则默认为十进制数。进位计数制进位计数制v 二进制转换为十进制数: 转换方法:按权展开并相加例:(111101.0101) 2= (61.3125)10(111101.0101) 2=1*25+1*24+1*23+1*22+0*21+1*20+0*2-1+1*2-2+0*2-3+ 1*2-4=32+16 + 8 + 4 + 0 + 1 + 0 + 0.25 + 0 + 0.0625= (61.3125)10数制之间的相互转换数制之间的相互转换v 十进制数转换为二进制数十进制数转换为二进制数v整数部分和小数部分分别转换

10、。整数部分和小数部分分别转换。 整数部分:整数部分:除除2逆序取余法逆序取余法 2 61 余数 (61)10 = (111101)2 2 30 1 2 15 0 2 7 1 2 3 1 2 1 1 0 1 61 30 15 7 3 1 0 2 1 0 1 1 1 1 数制之间的相互转换数制之间的相互转换v 十进制数转换为二进制数 小数部分:乘2顺序取整法 0.3125 整数部分 (0.3125)10 = (0.0101)2 2 0.625 0 2 0.25 1 2 0.5 0 2 0 1 0.3125 0.625 0.25 0.5 0 2 0 1 0 1 数数制之间的相互转换制之间的相互转换v

11、 注意: 1. 一个二进制数可以准确地转换为十进制数,而一个带小一个二进制数可以准确地转换为十进制数,而一个带小数的十进制数不一定能够用二进制数准确地表示。如数的十进制数不一定能够用二进制数准确地表示。如0.1。带小数的十进制数在转换为二进制数时,以小数点为界,整数和小数要带小数的十进制数在转换为二进制数时,以小数点为界,整数和小数要分别转换。分别转换。数制之间的相互转换数制之间的相互转换2. 带小数的十进制数在转换为二进制数时,以小数点为界,带小数的十进制数在转换为二进制数时,以小数点为界,整数和小数要分别转换。整数和小数要分别转换。v 二进制转换为八进制、十六进制数二进制二进制000001

12、010011100101110111八进制八进制01234567二进制二进制00000001001000110100010101100111十六进制十六进制01234567二进制二进制10001001101010111100110111101111十六进制十六进制89ABCDEF 例:(11 011 010 . 101 101)2=(332.55)8 例:(1101 1010 . 1011 01)2=(DA.B4)16数制之间的相互转换数制之间的相互转换十六进制数、八进制数转换为二进制数十六进制数、八进制数转换为二进制数1、八进制数转换为二进制数、八进制数转换为二进制数例:例:(123.45)

13、8=(1 010 011 . 100 101)22、十六进制数转换为二进制数、十六进制数转换为二进制数例:例:(123.45)16=(1 0010 0011 . 0100 0101)2数制之间的相互转换数制之间的相互转换1.3.2 带符号数的表示及运算带符号数的表示及运算 在计算机中只能表示在计算机中只能表示“0 0”和和“1 1”两种数码,两种数码,为了区分正数和负数为了区分正数和负数, ,需要专门选择一位来表示需要专门选择一位来表示数的符号,即符号位。通常选择数的符号,即符号位。通常选择最高位最高位作为符作为符号位。正号用号位。正号用“0 0”表示,负号用表示,负号用“1 1”表示。表示。

14、机器数与真值机器数与真值 为了区分一般书写时表示的数和机器中表为了区分一般书写时表示的数和机器中表示的数,引入如下概念:示的数,引入如下概念: 一个数在机器中的表示形式,其正负号已一个数在机器中的表示形式,其正负号已数码化了,称为机器数。数码化了,称为机器数。 机器数所表达的实际数值,称为真值机器数所表达的实际数值,称为真值。 如如真值真值: +91:其机器数为:其机器数为01011011 -91:其机器数为:其机器数为11011011 在计算机中常用数的符号与数值部分一起在计算机中常用数的符号与数值部分一起编码的方法表示数。常用的有原码、反码、补编码的方法表示数。常用的有原码、反码、补码表示

15、法。码表示法。机器数的特点:机器数的特点:v正负号已数码化正负号已数码化v所能表示的数的范围受到机器字长的限制所能表示的数的范围受到机器字长的限制v小数点不能直接标出,需按一定方式约定小数小数点不能直接标出,需按一定方式约定小数点位置。点位置。机器数的表示机器数的表示原码、反码、补码原码、反码、补码原码:原码:最高位即符号位以最高位即符号位以“0 0”表示正数,以表示正数,以“1 1”表示负数,表示负数,后面所有位表示数值,这种数的表示法称为原码。如在后面所有位表示数值,这种数的表示法称为原码。如在8 8位机中:位机中: X1= +105 = +1101001 X1原原= 01101001 X

16、2 = -105 = -1101001 X2原原= 11101001 X3 = +0 = +0000000 X3原原= 00000000 X4 = -0 = -0000000 X4原原= 10000000原原 码码原码表示法的优点:原码表示法的优点: 简单易懂,而且与真值转换直观方便。简单易懂,而且与真值转换直观方便。原码表示法的缺点:原码表示法的缺点: 不便于计算机计算。因为两原码数相互运算时,不便于计算机计算。因为两原码数相互运算时,首先要判断它们的符号,然后再决定用加法还是减首先要判断它们的符号,然后再决定用加法还是减法,致使机器结构复杂化和增加运算时间。法,致使机器结构复杂化和增加运算

17、时间。 结论结论: 为了把加减法运算统一为加法运算,从而简为了把加减法运算统一为加法运算,从而简化计算机的结构,引入了反码和补码表示法。化计算机的结构,引入了反码和补码表示法。反反 码码反码:反码:对于正数,反码表示与原码相同。对于负数,最对于正数,反码表示与原码相同。对于负数,最高位为符号位高位为符号位“1”,其余位是将原码数值位按位取反。,其余位是将原码数值位按位取反。 X1=105 X1反反=01101001 X2=-105 X2反反=10010110 X3=+0 X3反反=00000000 X4=-0 X4反反=11111111补补 码码补码:补码:正数的补码表示与原码相同。负数的补码

18、是在其正数的补码表示与原码相同。负数的补码是在其反码的最低位加反码的最低位加1形成的。形成的。 X1 = 105 X1补补 = 01101001 X2 = -105 X2补补 = 10010111 X3 = +0 X3补补 = 00000000 X4 = -0 X4补补 = 00000000 引入补码的概念,目的在于将加减运算简化为单纯的引入补码的概念,目的在于将加减运算简化为单纯的相加运算。相加运算。补补 码码 的的 作作 用用v模:是指一个计量系统所能表示的最大量程。模:是指一个计量系统所能表示的最大量程。v同余的概念和补码同余的概念和补码 设有两个数设有两个数a=17,b=27,若用,若

19、用10去除去除a和和b,则它们的,则它们的余数均为余数均为7,因此称,因此称17和和27在以在以10为模时是同余的:为模时是同余的: 17=27(mod 10) 或者说或者说17和和27 在以在以10为模时是相等的。为模时是相等的。 由同余概念,可得由同余概念,可得: a+M=a(mod M) 因此,当因此,当a为负数时,如为负数时,如a=-4,在以,在以10 为模时,有为模时,有 -4+10=-4(mod 10) 即即 +6=-4(mod 10)补补 码码v 上式表明,在以上式表明,在以10 10 为模时,为模时,-4-4与与+6+6是相等的,称是相等的,称+6+6与与-4-4对于模对于模1

20、010来说互为补数(或互为补码)。有了补码的概来说互为补数(或互为补码)。有了补码的概念,就可将减法运算转换为加法运算来进行。念,就可将减法运算转换为加法运算来进行。 如:如: 7-4=7+67-4=7+6(mod 10mod 10) 上式说明,在以上式说明,在以10 10 为模时,(为模时,(7-47-4)减法运算可以通过)减法运算可以通过(7+67+6)加法运算来进行,所得结果是相同的。)加法运算来进行,所得结果是相同的。v 同余和补码的可以概念推广到二进制数,设计算机字长同余和补码的可以概念推广到二进制数,设计算机字长为为n n,则其模为则其模为2 2n n。 应用补码运算时,巧妙利用计

21、量系统所能应用补码运算时,巧妙利用计量系统所能表示的最大量程表示的最大量程( (模模),),进位自然丢失进位自然丢失,不仅不仅可以把加减法统一成加法运算,而且符号可以把加减法统一成加法运算,而且符号位一起参与运算,自动获得正确结果。位一起参与运算,自动获得正确结果。 补补 码码例例1: X = 64 10 = 64 + (-10) X补补= 64补补+ -10补补 64补补= 01000000 +10补补= 00001010 -10补补=11110110 做减法运算过程如下:做减法运算过程如下:用补码相加过程如下:用补码相加过程如下:0100000001000000 - 00001010 +1

22、1110110 00110110 1 00110110 无借位无借位 补码相加有进位补码相加有进位, 进位自然丢失进位自然丢失结论:结论:从上面运算可知,做减法与用补码相加的结果相同。从上面运算可知,做减法与用补码相加的结果相同。 在微型机中,凡是符号数一律是用补码表示的,运算的结果在微型机中,凡是符号数一律是用补码表示的,运算的结果也是用补码表示的。也是用补码表示的。 补补 码码例例2: 34 68 = 34 + (-68) = -34 34=00100010-34补补=11011110 68=01000100-68补补=10111100源码(源码(=补码)做减法运算过程如下:用补码相加过程

23、如下:补码)做减法运算过程如下:用补码相加过程如下: 00100010 00100010 -01000100 + 10111100 1 11011110 11011110 有借位,借位自然丢失有借位,借位自然丢失 化为补码相加无进位化为补码相加无进位 结论结论: 结果数字相同。因为符号位为结果数字相同。因为符号位为1,所以结果为负数,对,所以结果为负数,对其求补,得其真值,即为其求补,得其真值,即为-34。移移 码码v移 码 将一个二进制数的补码的符号位取反即得该二进制数的移码. 现实: 将二进制数的真值往正向平移2n-1位(n为数字位数,如8),用AD/DA外围电路小小 结结v四种编码的最高

24、位都是符号位四种编码的最高位都是符号位;(2) 正数:前三种编码表示是一样的正数:前三种编码表示是一样的; 负数:四种编码表示各不相同负数:四种编码表示各不相同;(3) 原、补、反码所能表示的数的范围不完全相同。原、补、反码所能表示的数的范围不完全相同。如在如在8位机中,位机中, 原码:原码: -127+127 反码:反码: -127+127 补码:补码: -128+127 其中对其中对0的表示也不同,反码和原码有两种表示方法,而补码则只的表示也不同,反码和原码有两种表示方法,而补码则只有一种。有一种。 (4) 补码的运算:补码的运算:带符号数一般都以补码的形式在机器中存放和进行带符号数一般都

25、以补码的形式在机器中存放和进行运算运算,这主要因为补码的加减运算比原码简单,它是符号位和数,这主要因为补码的加减运算比原码简单,它是符号位和数值位一起参加运算并能自动获得正确结果:值位一起参加运算并能自动获得正确结果:v XY补补=X补补Y补补二进制数的算术运算二进制数的算术运算 计算机把机器数均当作无符号数进行运算,即计算机把机器数均当作无符号数进行运算,即符号位也参与运算,运算结果要根据符号位也参与运算,运算结果要根据 最后结果的符最后结果的符号、运算有无进位、借位和溢出等来判别。号、运算有无进位、借位和溢出等来判别。 计算机中设置有这些标志位,标志位的值由运计算机中设置有这些标志位,标志

26、位的值由运算结果自动设定。算结果自动设定。 无符号数的运算无符号数的运算v n位无符号二进制数的范围为:位无符号二进制数的范围为:0(2n-1)(1) 两个无符号数相加,由于两个加数均为正数,因此其两个无符号数相加,由于两个加数均为正数,因此其和也为正数。当和超过其位数所允许的范围时会产生溢出。和也为正数。当和超过其位数所允许的范围时会产生溢出。如:如:127+160=7FH+0A0H 01111111 +10100000 1 00011111 进位进位(2) 两个无符号数相减,被减数大于或等于减数,无借位,两个无符号数相减,被减数大于或等于减数,无借位,结果为正;被减数小于减数,有借位,结果

27、为负。结果为正;被减数小于减数,有借位,结果为负。带符号数的运算带符号数的运算vn位二进制带符号数所能表示的范围为:位二进制带符号数所能表示的范围为: -2n-1(2n-1-1)v若运算结果超过此范围就会产生溢出。如: 105 + 50 = 69H + 32H 01101001 +00110010 10011011 = 9BH (无符号155或有符号-101) 结果的符号位为结果的符号位为1,这显然是错误的。其原因是和,这显然是错误的。其原因是和155大于大于8位符号数的所能表示的最大值位符号数的所能表示的最大值127,产生了溢,产生了溢出,从而导致结果错误。出,从而导致结果错误。带符号数的运

28、算带符号数的运算又如:又如:-105 50 = -155 10010111 +11001110 101100101 两个负数相加,和应为负数,而结果两个负数相加,和应为负数,而结果01100101B为为正数,这显然是错误的。其原因是和正数,这显然是错误的。其原因是和-155小于小于8位符位符号数所能表示的最小值号数所能表示的最小值-128,也产生了溢出。,也产生了溢出。带符号数的运算带符号数的运算v 如何来判断带符号数运算结果有无溢出?如何来判断带符号数运算结果有无溢出?设符号位向进位位的进位为设符号位向进位位的进位为CY ,数值部分向符号位的进,数值部分向符号位的进位为位为CS ,则有,则有

29、 OF=CY CS规则:规则:若若OF=1=1,有溢出;若,有溢出;若OF=0=0,无溢出。,无溢出。其中,其中, 称为称为异或运算符异或运算符,其,其运算规则:运算规则: 0 1=1,1 0=1,1 1=0,0 0=0 01101001 10010111 11001110 + 00110010 +11001110 + 11111011 10011011 101100101 1 11001001 CY=0,CS=1,溢出溢出 CY=1,CS=0,溢出溢出 CY=1,CS=1,无溢出无溢出有的教材也将此判断方法称为双高位法。若溢出,结果错有的教材也将此判断方法称为双高位法。若溢出,结果错误,无溢

30、出,结果正确。误,无溢出,结果正确。带符号数的运算带符号数的运算(补充)作业2:下列带符号数在下列带符号数在8位机中进行运算,判断是否会产生溢位机中进行运算,判断是否会产生溢出?出? (1) (+90) + (+107) (2) (-110) + (-92) (3) (+45) + (+30) (4) (-14) + (-16) 答案:溢出溢出无无定点数与浮点数定点数与浮点数v 在计算机中表示实数时,涉及到小数点的位置,有定点和浮在计算机中表示实数时,涉及到小数点的位置,有定点和浮点两种表示数的方法。顾名思义,定点数就是小数点的位置点两种表示数的方法。顾名思义,定点数就是小数点的位置是固定不变

31、的,而浮点数表示则是小数点的位置是浮动的。是固定不变的,而浮点数表示则是小数点的位置是浮动的。v 任何一个实数都可以表示成一个纯小数与整数次幂的乘积的任何一个实数都可以表示成一个纯小数与整数次幂的乘积的形式,例如:形式,例如: 526.84=0.52684526.84=0.5268410103 3=0.05264 =0.05264 10104 4=52648 =52648 1010-2-2= =. . 由此可见,在十进制数中小数点的位置可以通过由此可见,在十进制数中小数点的位置可以通过1010的幂次来调的幂次来调整。同理,在二进制数中也是类似的,如整。同理,在二进制数中也是类似的,如 0.01

32、001=0.1001 0.01001=0.1001 2 2-1-1 =0.001001 =0.001001 2 21 1 这就是浮点表示的原理。这就是浮点表示的原理。v 任意一个二进制数任意一个二进制数N N可以写成如下形式:可以写成如下形式: N=N=S S2 2 p p 式中式中: : S S称为称为N N的尾数,是数值的有效数字部分,通常用小数表的尾数,是数值的有效数字部分,通常用小数表示,一般用原码表示。示,一般用原码表示。 p p称为阶码。一般用带符号整数表示,一般用补码表示。称为阶码。一般用带符号整数表示,一般用补码表示。 阶码阶码P P的大小规定了数的范围,尾数的大小规定了数的范

33、围,尾数S S长短则规定了数的有效数长短则规定了数的有效数字的位数(精度)。若字的位数(精度)。若0.1S0.1S1 1(即二进制表示中小数点后(即二进制表示中小数点后第一位的值一定是第一位的值一定是1 1) ,则称浮点数为规格化了的浮点数。,则称浮点数为规格化了的浮点数。定点数与浮点数定点数与浮点数v 在机器中浮点数的阶码和尾数分别表示,且都有自己的符号位。在机器中浮点数的阶码和尾数分别表示,且都有自己的符号位。浮点数在机器中的表示形式示意如下:浮点数在机器中的表示形式示意如下: 通常,用一位二进制数通常,用一位二进制数P Pf f表示阶码的符号位,用一位二进制数表示阶码的符号位,用一位二进

34、制数S Sf f表示尾数的符号位。表示尾数的符号位。“0 0”表示正,表示正,“1 1”表示负。表示负。 例如:例如:1011.1101B=0.101111011011.1101B=0.101111012 2+100+100 -10010.11B=-0.1001011 -10010.11B=-0.1001011 2 2+101+101阶符阶符阶码阶码尾符尾符尾数尾数定点数与浮点数定点数与浮点数S S2 2 p pv 由于指数表示可以选用不同的编码,尾数的格式和小数点位置也可以由于指数表示可以选用不同的编码,尾数的格式和小数点位置也可以有不同规定,因此有不同规定,因此浮点数的表示方法不是唯一的浮

35、点数的表示方法不是唯一的。不同计算机可以有。不同计算机可以有不同的规定,这就会引起相互间数据的不兼容。为此,不同的规定,这就会引起相互间数据的不兼容。为此,IEEEIEEE制定了有制定了有关的工业标准。关的工业标准。v 当今流行的当今流行的PentiumPentium处理器的浮点数格式完全符合处理器的浮点数格式完全符合IEEEIEEE标准,它表示标准,它表示成如下形式:成如下形式: (-1)(-1)S Sf f 2 2p p(b(b0 0.b.b1 1b b2 2b b3 3b bs-1s-1) ) 式中:式中:(-1)(-1)S Sf f 该数的符号位。该数的符号位。 p p 指数,它是一个

36、带偏移量的整数,表示成无符号整数。指数,它是一个带偏移量的整数,表示成无符号整数。 (b(b0 0.b.b1 1b b2 2b b3 3b bs-1s-1) )尾数,二进制数表示。尾数,二进制数表示。定点数与浮点数定点数与浮点数v PentiumPentium处理器的浮点数一般都表示成规格化形式,即尾数的最高处理器的浮点数一般都表示成规格化形式,即尾数的最高位位b0b0总是总是1 1,且和小数点一样隐含,在机器中并不明确表示出来。,且和小数点一样隐含,在机器中并不明确表示出来。v 例:将十进制数例:将十进制数178.125178.125表示成单精度浮点数表示成单精度浮点数( (规定规定指数偏移

37、量为指数偏移量为127,127,尾数长度尾数长度2424) )。 (178.125)D=(10110010.001)B(178.125)D=(10110010.001)B =( =(1 1. .01100100010110010001)X2)X2111111 其中指数等于其中指数等于7,7,加上指数偏移量加上指数偏移量127,127,所以所以 7+127=134=(7+127=134=(1000011010000110)B, )B, 178.125 178.125表示成单精度浮点数为表示成单精度浮点数为: : 0 0 10000110 10000110 0110 0100 0100 0000

38、0000 0000110 0100 0100 0000 0000 000 Sf 8 Sf 8位指数位指数 2323位尾数(位尾数(b0b0隐含隐含) 此处此处8 8位指数设用位指数设用127127指数偏移量指数偏移量, ,无负无负定点数与浮点数定点数与浮点数v Pentium处理器中可表示三种不同类型的浮点数:处理器中可表示三种不同类型的浮点数: 1)单精度浮点数,字长)单精度浮点数,字长32位位 2)双精度浮点数,字长)双精度浮点数,字长64位位 3)扩充精度浮点数,字长)扩充精度浮点数,字长80位位v 不同类型的浮点数,对指数长度、尾数长度、指数偏移量都有不同类型的浮点数,对指数长度、尾数

39、长度、指数偏移量都有不同的规定。不同的规定。定点数与浮点数定点数与浮点数1.3.3 计算机中常用的编码计算机中常用的编码v一、一、8421BCD码及其十进制调整码及其十进制调整v二、二、ASCII码(美国信息交换标准代码码(美国信息交换标准代码American Standard Code for Information interchange )v三、汉字的编码三、汉字的编码二二十进制数字编码十进制数字编码BCD码码 计算机中还有一种数值数据的表示方法:一位十进制计算机中还有一种数值数据的表示方法:一位十进制数用数用4位二进制数码表示,称为二进制编码的十进制数,位二进制数码表示,称为二进制编码

40、的十进制数,简称简称BCD(Binary Coded Decimal)码码。 许多计算机有许多计算机有BCD码运算指令,有专门的线路在码运算指令,有专门的线路在BCD码运算时使每码运算时使每4位二进制之间按十进制来处理。其中位二进制之间按十进制来处理。其中8421BCD码码是计算机中使用最广泛的一种是计算机中使用最广泛的一种BCD码码,8421是是指这种编码的各位所代表的指这种编码的各位所代表的“权权”。十进制数十进制数012345678984218421码码0000000100100011010001010110011110001001例例: (0010 1001 0011)BCD = (2

41、93)10BCD码的运算码的运算(加法加法) BCD数的低位与高位之间是数的低位与高位之间是“逢十进一逢十进一”,而,而4位二位二进制数之间是进制数之间是“逢十六进一逢十六进一”。故若用二进制的运算法。故若用二进制的运算法则进行则进行BCD码的运算则需要进行调整。码的运算则需要进行调整。v 当两个当两个BCD数相加时,相加的结果都在数相加时,相加的结果都在09之间,则之间,则其加法运算规则完全同二进制的加法规则;其加法运算规则完全同二进制的加法规则;v 若大于若大于9,则应对其对应,则应对其对应4位进行加位进行加6调整。调整。例:BCD数48+59相加,结果应为BCD数107: 0100 10

42、00 +0101 1001 1010 0001=A1,结果错误 +0110 0110 (调整) 10000 0111=(107)BCD,结果正确 1 0 7BCD码的运算码的运算(减法减法) 两个两个BCD数相减,若本位的被减数大于或等于减数,则减数相减,若本位的被减数大于或等于减数,则减法规则和二进制数相同。反之,要向高位借位,十进制数向高位法规则和二进制数相同。反之,要向高位借位,十进制数向高位借借1作作10,而十六进制数借,而十六进制数借1作作16,因此要进行减,因此要进行减6调整。调整。 如:BCD数28-19相减: 00101000 -00011001 00001111=0FH,错误

43、,要调整 -00000110 00001001=9BCD,结果正确ASCII码码(American Standard Code for Information Interchange)ASCII码码:即美国信息交换标准代码,用即美国信息交换标准代码,用7位二进制数表示一个字位二进制数表示一个字符,共有符,共有27=128个,其中包括数字个,其中包括数字09(10个个),英文大小写字母,英文大小写字母52个,功能符个,功能符32个,专用字符个,专用字符34个。小于个。小于20H的是不可显示字符,的是不可显示字符,通常是命令代码。一个通常是命令代码。一个ASCII码字符占一个字节。最高位用作奇偶码

44、字符占一个字节。最高位用作奇偶校验位。校验位。字 符ASCII码093039HAZ415AHaz617AHSpace20H$24H换行LF0AH回车CR0DH例如:例如:字符字符A用用ASCII码表示为:码表示为: 1000001B或或41H字符字符1用用ASCII码表示为:码表示为: 0110001B或或31H右表为常用字符的右表为常用字符的ASCII码码。汉字的编码汉字的编码 计算机用于处理汉字时,汉字信息也是用若干位二进制编码计算机用于处理汉字时,汉字信息也是用若干位二进制编码来表示。编码的二进制位数取决于要处理的汉字的个数。来表示。编码的二进制位数取决于要处理的汉字的个数。v (1)(

45、1)国标码(国标码(GB2312-80GB2312-80) 我国根据汉字的常用程度定出了一级和二级汉字字符集,我国根据汉字的常用程度定出了一级和二级汉字字符集,并规定编码。这就是中华人民共和国国家标准并规定编码。这就是中华人民共和国国家标准信息交换用信息交换用汉字编码汉字编码(GB2312-80GB2312-80)中的汉字的编码。该标准编码字符)中的汉字的编码。该标准编码字符集共收录汉字(集共收录汉字(67636763)和图形符号()和图形符号(682682)共)共 74457445个。个。 该字符集中字符和图形都是用两个该字符集中字符和图形都是用两个7 7位编码表示,在计位编码表示,在计算机中要用算机中要用2 2个字节表示,每个字节的最高位为个字节表示,每个字节的最高位为0 0。v (2 2)机内码)机内码 为了将汉字编码与常用为了将汉字编码与常用ASCIIASCII码相区别,在机器中,汉字码相区别,在机器中,汉字是以内码形式存储和传输的。内码就是将国标码的两字节的最是以内码形式存储和传输的。内码就是将国标码的两字节的最高位都置高位都置“1 1”、其余编码位不变形成的。、其余编码位不变形成的。v (3 3)汉字输入码)汉字输

温馨提示

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

评论

0/150

提交评论