微机原理及应用第2章1节2010SGQ_第1页
微机原理及应用第2章1节2010SGQ_第2页
微机原理及应用第2章1节2010SGQ_第3页
微机原理及应用第2章1节2010SGQ_第4页
微机原理及应用第2章1节2010SGQ_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、1n1、微型计算机系统的构成。n2、微处理器。n3、总线。n4、基本概念。1、运算器、()和寄存器组构成()。、运算器、()和寄存器组构成()。2、冯、冯诺依曼的体系结构中,由()、控制器、()、输入设备、()诺依曼的体系结构中,由()、控制器、()、输入设备、()构成计算机硬件系统。构成计算机硬件系统。1、控制器,微处理器、控制器,微处理器2、运算器,存储器,输出设备、运算器,存储器,输出设备2n时间:时间:20109月月1日(第一周周三)日(第一周周三)n本次课内容:本次课内容:n1、计算机的数和编码系统。、计算机的数和编码系统。n本次课重点:本次课重点:n1、BCD数及各进制数的相互转化

2、过程。数及各进制数的相互转化过程。n2、机器数、真值、原码、反码、补码的概念及相互转、机器数、真值、原码、反码、补码的概念及相互转化。化。n3、溢出、溢出n本次课难点:本次课难点:n1、求一个负数的补码。(按定义,按求补的方法)、求一个负数的补码。(按定义,按求补的方法)n2、无符号数的进位和带符号数的溢出。、无符号数的进位和带符号数的溢出。3第2章 计算机中的数制和编码 2.1 无符号数的表示及运算无符号数的表示及运算 2.2 带符号数的表示及运算带符号数的表示及运算 2.3 信息的编码信息的编码 4 通常,计算机中的数据分为两类:通常,计算机中的数据分为两类:(1 1)数数(2 2)码码

3、5一、数制的基本概念一、数制的基本概念 1 1数的表示数的表示: : N Nd dn n1 1b bn n1 1d dn n2 2b bn n2 2d dn n3 3b bn n3 3ddm mb bm m式中式中:nn整数的总位数。整数的总位数。 mm小数的总位数。小数的总位数。 d d下标下标表示该位的数码。表示该位的数码。bb表示进位制的基数。表示进位制的基数。 b b上标上标表示该位的位权。表示该位的位权。例例2.1 138.5(D)= 1012105108103101例例2.2 1101.11B= )(75.13212121202121210123D62计数制的书写规则计数制的书写规

4、则(1)在数字后面加写相应的英文字母作)在数字后面加写相应的英文字母作为标识。为标识。如:二进制数如:二进制数100B,十六进制数,十六进制数100H,十进制数十进制数100D,八进制数八进制数100Q。(2)在括号外面加数字下标。)在括号外面加数字下标。 如:(如:(1011)2 1011B (2DF2)16 2DF2H71 1计算机中常用的进位计数制计算机中常用的进位计数制 计数制计数制 基数基数 数码数码 进位关系进位关系 二进制二进制 2 02 0、1 1 逢二进一逢二进一八进制八进制 8 08 07 7 逢八进一逢八进一十进制十进制 10 010 09 9 逢十进一逢十进一十六进制十

5、六进制 16 016 09 9、A AF F 逢十六进一逢十六进一例例2.3 0E5AD.BFH =210123161516111613161016516142.1 无符号数的表示及运算 2.1.1 无符号数的表示方法无符号数的表示方法 8 计算机中无符号数计算机中无符号数的表示:如果用八位二进制数表的表示:如果用八位二进制数表示十进制数示十进制数,则:则: 00000000B11111111B表示表示0255。思考:如果是十六位思考:如果是十六位二进制数二进制数呢呢?00000000000000000B1111111111111111B表示表示06553592.1.2 各种数制的相互转换各种

6、数制的相互转换 1任意进制数转换为十进制数任意进制数转换为十进制数 例:(例:(101.1) 2 =12202112012-1(5.5)10 例:例:3A.F8H316 1101601516 -1816 -258.96875D10【习题习题1 1】将十进制整数(将十进制整数(105105)1010转换为二进制整数转换为二进制整数. .2 2 105 105 2 2 52 52 余数为余数为1 1 2 2 26 26 余数为余数为0 0 2 2 13 13 余数为余数为0 0 2 2 6 6 余数为余数为1 1 2 2 3 3 余数为余数为0 0 2 2 1 1 余数为余数为1 1 0 0 余数

7、为余数为1 1 所以所以,(,(105105)1010(11010011101001)2 22. 十进制数转换成二进制数十进制数转换成二进制数1)整数部分的转换整数部分的转换除以基数(除以基数(2)取余数,先为低位()取余数,先为低位(B0)后为高位。)后为高位。 11【习题习题2 2】将十进制小数(将十进制小数(0.81250.8125)1010转换为二进制小数。转换为二进制小数。0.81250.81252 21.625 1.625 取整数位取整数位1 10.6250.6252 21.25 1.25 取整数位取整数位1 1 0.250.252 20.5 0.5 取整数位取整数位0 00.50

8、.52 21.0 1.0 取整数位取整数位1 1 所以所以,(,(0.81250.8125)1010(0.11010.1101)2 2如果出现乘积的小数部分一直不为如果出现乘积的小数部分一直不为“0”0”?则可以根据精度的要求截取一定的位数即可。则可以根据精度的要求截取一定的位数即可。 2) 小数部分的转换小数部分的转换小数部分乘以基数(小数部分乘以基数(2)取整数()取整数(0或或1),先为高位(),先为高位(B-1)后为低位。)后为低位。12十进制到八进制、十六进制的转换。十进制到八进制、十六进制的转换。八进制八进制:整数部分除整数部分除8取余,低位至高;小数部分乘取余,低位至高;小数部分

9、乘8取整,取整,高位到低。高位到低。十六进制十六进制:整数部分除:整数部分除16取余,低位至高;小数部分乘取余,低位至高;小数部分乘16取整,高位到低。取整,高位到低。13 【例例】将十进制整数(将十进制整数(23472347)1010转换为十六进制整转换为十六进制整 数,采用数,采用“除除1616倒取余倒取余”的方法,过程如下:的方法,过程如下:16 16 2347 2347 16 16 146 146 余数为余数为1111(十六进制数为(十六进制数为B B) 16 16 9 9 余数为余数为2 2 0 0 余数为余数为9 9 所以所以,(,(23472347)1010(92B92B)161

10、614 例例2.4 将将13.75转换为二进制数。转换为二进制数。 分别将整数和小数部分进行转换:分别将整数和小数部分进行转换: 整数部分:整数部分:13=1101B 小数部分:小数部分:0.75=0.11B 因此,因此,13.75=1101.11B 15例例2.5 将将28.75转换为十六进制数转换为十六进制数 整数部分:整数部分:28=1CH 小数部分:小数部分:0.7516=12.0, B-1=CH,小数部分已为,小数部分已为0,停止计算。停止计算。因此,因此,28.75=1C.CH 16 3二进制数与十六进制数之间的转换二进制数与十六进制数之间的转换 二进制数转换为十六进制数:二进制数

11、转换为十六进制数: 从小数点开始分别向左或向右,将每从小数点开始分别向左或向右,将每4 4位二进制数位二进制数分成分成1 1组,不足组,不足4 4位的补位的补0 0,然后将每组用一位十六进,然后将每组用一位十六进制数表示即可。制数表示即可。十六进制数转换为二进制数十六进制数转换为二进制数 将每位十六进制数用将每位十六进制数用4 4位二进制数表示即可。位二进制数表示即可。17 十六进制数十六进制数:大部分微机字长是大部分微机字长是4的整数倍,所以广泛的整数倍,所以广泛 采用十六进制。采用十六进制。 特点特点(1)、具有)、具有09,AF16个数字符号。个数字符号。 (2)、逢)、逢16进进1。0

12、 1 2 3 4 5 6 7 8 9 A B0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011C D E F1100 1101 1110 1111例:例:1、5EA.7B4H=0101 1110 1010 .0111 1011 0100B10111101010.0111101101B 2、111001110.001110101B=0001 1100 1110 .0011 1010 1000B=1CE.3A8H18【例例】 1101110.01011B=0110 1110.0101 1000B=6E.58H2F.1BH=10 1

13、111.0001 1011B 19n当十进制已经转化为二进制后,可经过二进制当十进制已经转化为二进制后,可经过二进制转化为其它进制。转化为其它进制。n例:二进制转化为八进制:每三位二进制用一例:二进制转化为八进制:每三位二进制用一位八进制数表示,从小数点开始,分别向左,位八进制数表示,从小数点开始,分别向左,向右,每三位一组,不足三位用零补足。向右,每三位一组,不足三位用零补足。n135.625Dn=010 000 111 .101 Bn=207.5Q202.1.3 二进制数的运算二进制数的运算 1. 二进制数的算术运算二进制数的算术运算 (1) 加加: 0+0=0 0+1=1 1+0=1 1

14、+1=0(进(进1) (2) 减减: 0-0=0 1-1=0 1-0=1 0-1=1(借位)(借位) (3) 乘乘: 0 0=0 0 1=0 1 0=0 1 1=1 (4) 除除: 二进制除法是乘法的逆运算。二进制除法是乘法的逆运算。 21 2. 二进制数的逻辑运算二进制数的逻辑运算 (1) “与与“运算(运算(AND), 用符号用符号“ ”或或“ ”表示。运算规则如下:表示。运算规则如下:0 0=0 0 1=0 1 0=0 1 1=1只有当只有当两个变量均为两个变量均为“1”时时,“与与”的结果的结果才为才为“1”。 22 (2) “或或”运算(运算(OR) 符号符号“ ”或或“+”表示。运

15、算规则如下:表示。运算规则如下:0 0=0 0 1=1 1 0=1 1 1=1两个变量两个变量只要有一个为只要有一个为“1”,“或或”的结果的结果就为就为“1”。 23 (3) “非非”运算(运算(NOT) (4) “异或异或”运算(运算(XOR) “异或异或”运算:运算: 两变量两变量只要不同只要不同,“异或异或”运算的运算的结果就为结果就为“1”。 10 01 01110111000024例例 2.7 A=11110101B, B=00110000B,求,求 ?BABABABABBA00110000BBA11110101BBA11000101BA00001010BB11001111解解25

16、2.2 带符号数的表示及运算带符号数的表示及运算 2.2.1 机器数与真值机器数与真值 为了区别正数和负数,通常用二进制数的为了区别正数和负数,通常用二进制数的最高位最高位表示数的表示数的符号符号。 字节型二进制数字节型二进制数,D7位位为为符号位符号位,D6 D0位为数值位。位为数值位。 D7位位用用“0”表示正,表示正,“1”表示负。表示负。 把一个数及其符号位在机器中的一组二进制数表示形式,把一个数及其符号位在机器中的一组二进制数表示形式,称为称为“机器数机器数”。 机器数所表示的值称为该机器数的机器数所表示的值称为该机器数的“真值真值”。 262例:例:X1=+1001010B=+74

17、D=(01001010) 2 “+”转化为转化为0。 X2=-1001010B=-74D=(11001010)2 “-”转化为转化为1。X3=(01011011)2 =+91D X4=(11011011)2=-91D正数、负数正数、负数区别在最高位区别在最高位上,上,也就是符号位也就是符号位,其余其余7位表示数字位位表示数字位。nX1 的真值是的真值是74。 nX2的真值是的真值是74。n X3的真值是的真值是91。n X4的真值是的真值是91。272.2.2 2.2.2 机器数的表示方法(带符号数)机器数的表示方法(带符号数)1、原码原码:用用0表示正,用表示正,用1表示负的表示法为原码表示

18、负的表示法为原码。最高位是符号位,后面是数值。最高位是符号位,后面是数值。例:例:X=+105,X原码原码01101001B X=-105, X原码原码11101001 B 符号位符号位 数值数值0原码原码00000000B0原码原码10000000B 缺点缺点:零有两个:零有两个28 292、反码反码:a:正数的反码与原码正数的反码与原码相同。相同。 B:负数的反码为其原码负数的反码为其原码除符号位除符号位以外按位取反以外按位取反。例:例:X1=+1000001B, X2=-0101010B.则:则:X1反码反码01000001BX2原码原码10101010BX2反码反码11010101B3

19、0 例:已知:例:已知: X X1011011B 1011011B Y1011011B X X原码原码01011011B X01011011B X反码反码01011011B01011011B Y Y原码原码11011011B Y11011011B Y反码反码10100100B10100100B由此得出:互为相反数的两个数,由此得出:互为相反数的两个数,原码最高位不同,反码互为相反数。原码最高位不同,反码互为相反数。31 11反码反码00000001B 00000001B 11反码反码11111110B11111110B 127127反码反码01111111B 01111111B 127127反

20、码反码10000000B 10000000B 8 8位二进制反码表示数的范围为位二进制反码表示数的范围为-127-127 +127+127,1616位二进制反码表示数的范围为位二进制反码表示数的范围为-32767-32767 +32767+32767;“0”0”的反码有两种表示法:的反码有两种表示法:00000000B00000000B表示表示+0+0,11111111B11111111B表示表示-0-0。32字节字节 八八数据数据 地址地址 控制控制128+64+32+13=11101101.1B=0ED.8H128+32+16+5=181 -53 (11001010B)原原=-74(110

21、01011B)原原=-7533n1、如何用两种方法求负数的补码。(定、如何用两种方法求负数的补码。(定义,用对应的相反正数的原码)义,用对应的相反正数的原码)n2、BCD数。数。n3、N位二进制数所能表示的无符号数或位二进制数所能表示的无符号数或带符号数的范围是多少?带符号数的范围是多少?n4、进位和溢出的区别。、进位和溢出的区别。时间:时间:20109月月6日(第二周周一)日(第二周周一)本次课内容:本次课内容:343、补码补码正数的补码与其原码、反码相同。正数的补码与其原码、反码相同。负数的补码是其反码加一。负数的补码是其反码加一。(也就是原码(也就是原码除符号位除符号位按位取反后再加一)

22、按位取反后再加一) 例:已知例:已知: X1=+1010101B, 则则X1补码补码=01010101B X2=-0011001B,则则X2反码反码11100110B,X2补码补码11100111B反码通常用作求补码过程中的中间形式。反码通常用作求补码过程中的中间形式。35【例例】(1 1)X X1011011B 1011011B (2 2) Y Y1011011B 1011011B (1 1)根据定义有:)根据定义有: XX原码原码01011011B X01011011B X补码补码01011011B01011011B(2 2) 根据定义有:根据定义有: YY原码原码11011011B Y1

23、1011011B Y反码反码10100100B 10100100B Y Y补码补码10100101B10100101B36例:已知例:已知31补码补码11100001B,则则31反码反码11100000B,31原码原码10011111B求得规律:已知负数补码,求其原码时,求得规律:已知负数补码,求其原码时,符符号位不变号位不变,其余各位按位其余各位按位取反后加一取反后加一。37因为:正数补码正数原码因为:正数补码正数原码l正数原码首位取反得到负数原码;正数原码首位取反得到负数原码;l负数原码除首位外按位取反后得到负数反码。负数原码除首位外按位取反后得到负数反码。l负数反码加一得到负数补码。负数

24、反码加一得到负数补码。l所以,得到如下规律:所以,得到如下规律:l已知一个数的补码,其相反数的补码就是连其已知一个数的补码,其相反数的补码就是连其符号位取反后加一。上述称为符号位取反后加一。上述称为求补求补。正数原反补相同正数原反补相同负数原码首为一负数原码首为一除首取反为反码除首取反为反码末位加一得补码末位加一得补码38l例:已知例:已知X补码补码01010110B,l则则X补码补码10101010Bl 已知已知X补码补码10101110B,l则则X补码补码01010010Bl得到:得到:1补码补码l00000001B,l0补码补码l00000000Bl -1补码补码l11111111B,

25、l - 0补码补码l00000000B实际计算机在运算过程中,实际计算机在运算过程中,在信息处理中,在存储过程在信息处理中,在存储过程中,中,机器中的数一般用补码机器中的数一般用补码表示表示。39 4、原码、补码、反码表示的十进制数范围原码、补码、反码表示的十进制数范围以八位二进制数为例:以八位二进制数为例: 码制码制 二进制数二进制数 表示的相应的十进制数范围表示的相应的十进制数范围a、无符号数、无符号数 0000000011111111 0255b、原码、原码 0000000011111111 127127c、反码、反码 0000000011111111 127127d、补码、补码 000

26、0000011111111 128127 408位二进制位二进制无符号数无符号数原码原码反码反码补码补码000000000+0+00000000011+1+1+101111111127+127+127+12710000000128-0-127-12810000001129-1-126-12711111110254-126-1-211111111255-127-0-1以上为以上为8位二进制数表示的无符号数、原码、反码、位二进制数表示的无符号数、原码、反码、补码的十进制数范围。补码的十进制数范围。41思考:如果写出思考:如果写出4位二进制数和位二进制数和16位二进制数表示的无位二进制数表示的无符号

27、数、原码、反码、补码的十进制数范围,该如何?符号数、原码、反码、补码的十进制数范围,该如何?424位二进制位二进制无符号数无符号数原码原码反码反码补码补码00000+0+0000011+1+1+101117+7+7+710008-0-7-810019-1-6-7111014-6-1-2111115-7-0-14316位二进制位二进制无符号数无符号数原码原码反码反码补码补码00000000000000000+0+0000000000000000011+1+1+1011111111111111132767+32767+32767+32767100000000000000032768-0-32767

28、-32768100000000000000132769-1-32766-32767111111111111111065534-32766-1-2111111111111111165535-32767-0-144 补码表示的整数范围是补码表示的整数范围是2 2n-1n-1 (2 2n-1n-11 1),),其中其中n n为机器字长。为机器字长。 则:则:8 8位二进制补码表示的整数范围是位二进制补码表示的整数范围是1281281271271616位二进制补码表示的整数范围是位二进制补码表示的整数范围是32768327683276732767 当运算结果超出这个范围时,就不能正确表示数当运算结果超

29、出这个范围时,就不能正确表示数了,此时称为了,此时称为溢出溢出。 45补码的扩展:补码的扩展: 符号位的值扩展到高八位上。符号位的值扩展到高八位上。 数值数值 八位表示八位表示 十六位表示十六位表示 +1 0000 0001B 0000 0000 0000 0001B -1 1111 1111B 1111 1111 1111 1111B补码相加:补码相加:X=11-6=5 X补补=11补补+-6补补 0000 1011B =0000 1011B+1111 1010B + 1111 1010B =0000 0101 B 1 0000 0101B 46 1. 补码加法补码加法 在计算机中,凡是在计

30、算机中,凡是带符号数一律用补码带符号数一律用补码表示,运算结表示,运算结果自然也是补码。其运算特点是:符号位和数值位一起参加果自然也是补码。其运算特点是:符号位和数值位一起参加运算,并且自动获得结果(包括符号位与数值位)。运算,并且自动获得结果(包括符号位与数值位)。 补码加法的运算规则为:补码加法的运算规则为:即:两数补码的和等于两数和的补码。即:两数补码的和等于两数和的补码。 补补补yxyx四、四、 补码的加减运算补码的加减运算47 【例例】已知已知 +51+51补补=0011 0011B=0011 0011B, +66+66补补=0100 0010B=0100 0010B, -51-51

31、补补=1100 1101B=1100 1101B, -66-66补补=1011 1110B=1011 1110B 求求 +66+66补补+51+51补补= =? +66+66补补+-51+-51补补= =? -66-66补补+-51+-51补补= =? 48由于由于 +66补补+51补补=(+66)+(+55)补补=01110101B结果为正,结果为正,因此因此 (+66)+(+55)原原=(+66)+(+55)补补=01110101B其真值为其真值为+117,计算结果正确。,计算结果正确。 二进制二进制( (补码补码) )加法加法 十进制加法十进制加法0100 0010 + 66补补 + 6

32、6+)0011 0011 + 51补补 +) + 510111 0101 +117补补 +117 49由于由于 +66补补+51补补=(+66)+(55)补补=0000111B 结果为正,结果为正,因此因此 (+66)+(55)原原=(+66)+(55)补补=00001111其真值为其真值为+15,计算结果正确。,计算结果正确。 二进制二进制( (补码补码) )加法加法 十进制加法十进制加法 0100 0010 + 66补补 +66+) 1100 1101 51补补 +) 51 0000 1111 +15补补 +151自动丢失自动丢失50例:例:X=+0001111B=+15,Y=+10000

33、00B=64,求,求X+Y解:解:X补补=00001111B Y补补=01000000B 00001111B + 01000000B 01001111B=+79=X+Y补补=X+Y,结果正确。结果正确。51例:例:X=-0001111B=-15,Y=+1000000B=64,求,求X+Y解:解:X补补=11110001B y补补=01000000B 11110001B + 01000000B 1 00110001B=+49=X+Y补补=X+Y,结果正确结果正确课下,大家可以试一下如果用原码或者反码计算课下,大家可以试一下如果用原码或者反码计算的话是否正确。的话是否正确。52 2. 补码减法补码

34、减法 补码减法的运算规则为:补码减法的运算规则为: 补补补补补yxyxyx请同学们计算请同学们计算6666515153 无符号数无符号数 带符号数带符号数 11100001 225 31补补+) 00001101 +) 13 +) +13补补 11101110 238 18补补54 1. 进位与溢出进位与溢出 所谓所谓进位进位,是指运算结果的最高位向更高位的进位,用来,是指运算结果的最高位向更高位的进位,用来判断判断无符号数无符号数运算结果是否运算结果是否超出超出了计算机所能表示的了计算机所能表示的最大无符最大无符号数的范围号数的范围。 溢出溢出是指是指带符号数的带符号数的补码补码运算溢出,用

35、来判断带符号数补运算溢出,用来判断带符号数补码运算结果是否超出了码运算结果是否超出了补码所能表示的范围补码所能表示的范围。如果运算结果超。如果运算结果超出此范围,就叫补码溢出,简称溢出。出此范围,就叫补码溢出,简称溢出。 2.3.5 2.3.5 进位与溢出进位与溢出552. 溢出的判断方法溢出的判断方法双高位溢出判别法双高位溢出判别法CF 最高位的进位最高位的进位DF 次高位的进位次高位的进位对对CF、DF作异或运算,若作异或运算,若:0 无溢出无溢出1 溢出溢出56 【习题习题1】 x=01000100B,y=01001000B,计算,计算x+y,试问:,试问: 若为无符号数,计算结果是否正

36、确?若为无符号数,计算结果是否正确? 若为带符号补码若为带符号补码数,计算结果是否溢出?数,计算结果是否溢出? 无符号数无符号数 带符号数带符号数 01000100 68 +68补补+)01001000 +)72 +) +72补补 10001100 140 +140补补DF=1CF=0 若为无符号数,由于若为无符号数,由于CF=0,计算结果正确。,计算结果正确。 若为带符号数补码,由于结果溢出因此结果是错误的。若为带符号数补码,由于结果溢出因此结果是错误的。 57 【习题习题2】设有两个操作数设有两个操作数x=11101110B,y=11001000B,将这两,将这两个操作数送运算器做加法运算

37、,试问:个操作数送运算器做加法运算,试问: 若为无符号数,计算若为无符号数,计算结果是否正确?结果是否正确? 若为带符号补码数,计算结果是否溢出若为带符号补码数,计算结果是否溢出? 解解 无符号数无符号数 带符号数带符号数 11101110 238 18补补+)11001000 +)200 +) 56补补 10110110 438 74补补DF=1CF=11自动丢失自动丢失 若为无符号数,由于若为无符号数,由于CF=1,计算,计算溢出因此结果是错误的溢出因此结果是错误的. 若为带符号数补码,若为带符号数补码,结果正确。结果正确。 58两个正数相加可能产生正的溢出,两个负数相加两个正数相加可能产

38、生正的溢出,两个负数相加可能会产生负的溢出,正负两数相加不会产生溢出。可能会产生负的溢出,正负两数相加不会产生溢出。例:例: CF DF 0 1 0 0 0 0 0 0B + 64 + 0 1 0 0 0 0 0 1B + 65 1 0 0 0 0 0 0 1B + 129+127, 结结果错误,溢出果错误,溢出 两个正数相加,结果为负数形式,这是由于两个正数相加,结果为负数形式,这是由于+129+127的原因的原因59例:计算例:计算-128-1 CF DF -128补补 = 1 0 0 0 0 0 0 0 B + -1补补 = 1 1 1 1 1 1 1 1B + 1 0 1 1 1 1

39、1 1 1B=+127 两个负数相加,结果为正数形式,这是由于两个负数相加,结果为正数形式,这是由于-128-1=-129-128的原因。的原因。例:计算例:计算64-1 CF DF +64补补=0 1 0 0 0 0 0 0B + -1补补=1 1 1 1 1 1 1 1B 1 0 0 1 1 1 1 1 1B=+63 运算结果正确。运算结果正确。601 1、 二二十进制编码十进制编码BCDBCD码码BCDBCD(Binary-Coded DecimalBinary-Coded Decimal)码又称为)码又称为“二二十进制编十进制编码码”,专门解决用二进制数表示十进数的问题。最常用的,专门

40、解决用二进制数表示十进数的问题。最常用的是是84218421编码,其方法是用编码,其方法是用4 4位二进制数表示位二进制数表示1 1位十进制数。位十进制数。1 1)压缩)压缩BCDBCD码:每一位数用码:每一位数用4 4位二进制数来表示,即一位二进制数来表示,即一个字节表示个字节表示2 2位十进制数。位十进制数。如:(如:(1000100110001001)BCDBCD89D89D。2)2)非压缩非压缩BCDBCD码:每一位数用码:每一位数用8 8位二进制数来表示,即一位二进制数来表示,即一个字节表示个字节表示1 1位十进制数。而且只用每个字节的低位十进制数。而且只用每个字节的低4 4位来位来

41、表示表示0 09 9,高,高4 4位为位为0 0。 如:如:89D89D(00001000 0000100100001000 00001001)BCDBCD 六、六、 字符编码字符编码61表表2.2 8421 BCD 码部分编码表码部分编码表 十进制数十进制数 压缩压缩BCD码码 非压缩非压缩BCD码码 1 2 3 M M 9 10 11 M 19 20 21 00000001 00000010 00000011 M 00001001 00010000 00010001 M 00011001 00100000 00100001 00000001 00000010 00000011 M 0000

42、1001 00000001 00000000 00000001 00000001 M 00000001 00001001 00000010 00000000 00000010 00000001 62例例 十进制数与十进制数与BCD数相互转换。数相互转换。 将十进制数将十进制数69.81转换为压缩型转换为压缩型BCD数:数: 69.81=(0110 1001.1000 0001)BCD 将将BCD数数1000 1001.0110 1001转换为十进制数:转换为十进制数: (1000 1001.0110 1001)BCD=89.69 63 【例例】设设x=10010110B,当,当x分别为无符号数

43、、原码、分别为无符号数、原码、补码、压缩型补码、压缩型BCD码时,试分别计算码时,试分别计算x所代表的数值大小。所代表的数值大小。解解 无符号数:无符号数:x=150 原码:原码:x原原=10010110Bx= 22 补码:补码:x补补=10010110B x原原=x补补补补=11101010B x= 106 BCD码:码:xBCD=10010110B x=96642、字符的、字符的ASCII码(码(AMERICAN STANDARD CODE FORINFORMATION INTERCHANG 美国标准信息交换码美国标准信息交换码)微机中常用的是微机中常用的是ASCII码(美国信息交换标准代码)码(美国信息交换标准代码),如后如后表所示表所示 它包括它包括10个十进制数码,个十进制数码,26个英文字母和一些专用个英文字母和一些专用符号,总共符号,总共128个字符的个字符的ASCII码,因此,只需要一个字节码,因此,只需要一个字节中的低中的低7位编码,当最高位恒取位编码,当最高位恒取0,称作空格校验,称作空格校验.用七位二进制数编码对字符进行编码,位用七位二进制数编码对字符进行编码,位7是零。是零。熟记下面的熟记

温馨提示

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

评论

0/150

提交评论