第1章 预备知识数制与码制PPT讲稿.ppt

上传人:石*** 文档编号:43111622 上传时间:2022-09-16 格式:PPT 页数:78 大小:2.72MB
返回 下载 相关 举报
第1章 预备知识数制与码制PPT讲稿.ppt_第1页
第1页 / 共78页
第1章 预备知识数制与码制PPT讲稿.ppt_第2页
第2页 / 共78页
点击查看更多>>
资源描述

《第1章 预备知识数制与码制PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第1章 预备知识数制与码制PPT讲稿.ppt(78页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第1章章 预备知识数预备知识数制与码制制与码制第1页,共78页,编辑于2022年,星期日1.1 进位计数制及各计数制间的转换进位计数制及各计数制间的转换数制是人们对事物数量计数的一种统计规律。在日常生活中最常用的是十进制,但在计算机中,由于其电气元件最易实现的是两种稳定状态:器件的“开”与“关”;电平的“高”与“低”。因此,采用二进制数的“0”和“1”可以很方便地表示机内的数据运算与存储。在编程时,为了方便阅读和书写,人们还经常用八进制数或十六进制来表示二进制数。虽然一个数可以用不同计数制形式表示它的大小,但该数的量值则是相等的。第2页,共78页,编辑于2022年,星期日1.1.1进位计数制

2、当进位计数制采用位置表示法时,同一数字在不同的数位所代表的数值是不同的。每一种进位计数应包含两个基本的因素:(1)基数R(Radix):它代表计数制中所用到的数码个数。如:二进制计数中用到0和1两个数码;而八进制计数中用到07共八个数码。一般地说,基数为R的计数制(简称R进制)中,包含0、1、R-1个数码,进位规律为“逢R进1”。第3页,共78页,编辑于2022年,星期日(2)位权W(Weight):进位计数制中,某个数位的值是由这一位的数码值乘以处在这一位的固定常数决定的,通常把这一固定常数称之为位权值,简称位权。各位的位权是以R为底的幂。如十进制数基数R=10,则个位、十位、百位上的位权分

3、别为100,101,102。一个R进制数N,可以用以下两种形式表示:(1)并列表示法,或称位置计数法:(N)R(Kn-1Kn-2K1K0K-1K-2K-m)R第4页,共78页,编辑于2022年,星期日(2)多项式表示法,或称以权展开式:(N)RKn-1Rn-1Kn-2Rn-2K1R1K0R0K-1R-1K-mR-m=其中:m、n为正整数,n代表整数部分的位数;m代表小数部分的位数;Ki代表R进制中的任一个数码,0KiR-1。1.二进制数二进制数,R2,Ki取0或1,进位规律为“逢2进1”。任一个二进制数N可表示为:第5页,共78页,编辑于2022年,星期日(N)2Kn-12n-1Kn-22n-

4、2K121K020-1-1K-m2-m(11)例如:(1001.101)2=12302202112012-102-22.八进制数八进制,R8,Ki可取07共8个数码中的任意1个,进位规律为“逢8进1”。任意一个八进制数N可以表示为:(N)8Kn-18n-1Kn-28n-2K181K080K-18-1K-m8-m(12)例如:(246.12)828248168018-128-2第6页,共78页,编辑于2022年,星期日3.十六进制数十六进制数,16,i可取015共16个数码中的任一个,但1015分别用A、B、C、D、E、F表示,进位规律为“逢16进1”。任意一个十六进制数可表示为:(N)16Kn

5、-116n-1Kn-216n-2K1161K0160K-116-1K-m16m(13)例如:(2D07.A)16216313162016171601016-1第7页,共78页,编辑于2022年,星期日表11给出了以上3种进制数与十进制数的对应关系。为避免混淆,除用(N)R的方法区分不同进制数外,还常用数字后加字母作为标注。其中字母B(Binary)表示二进制数;字母Q(Octal的缩写为字母O,为区别数字0故写成Q)表示八进制数;字母D(Decimal)或不加字母表示十进制数;字母H(Hexadecimal)表示十六进制数。第8页,共78页,编辑于2022年,星期日表11二、八、十、十六进制数

6、码对应表第9页,共78页,编辑于2022年,星期日1.1.2各种进制数间的相互转换1.各种进制数转换成十进制数各种进制数转换成十进制数的方法是:将各进制数先按权展成多项式,再利用十进制运算法则求和,即可得到该数对应的十进制数。例1:将数1001.101B,246.12Q,2D07.AH转换为十进制数。1001.101B12302202112012102-212-3810.50.1259.625第10页,共78页,编辑于2022年,星期日246.12Q28248168018-128-21283260.1250.03125166.156252D07.AH216313162016171601016-

7、18192332870.62511527.625第11页,共78页,编辑于2022年,星期日2.十进制数转换为二、八、十六进制数任一十进制数N转换成q进制数,先将整数部分与小数部分分为两部分,并分别进行转换,然后再用小数点将这两部分连接起来。1)整数部分转换整数部分转换步骤为:第1步:用去除N的整数部分,得到商和余数,记余数为进制整数的最低位数码K0;第12页,共78页,编辑于2022年,星期日第2步:再用q去除得到的商,求出新的商和余数,余数又作为q进制整数的次低位数码K1;第3步:再用q去除得到的新商,再求出相应的商和余数,余数作为q进制整数的下一位数码Ki;第4步:重复第3步,直至商为零

8、,整数转换结束。此时,余数作为转换后q进制整数的最高位数码Kn-1。第13页,共78页,编辑于2022年,星期日2|1682|84余数0,K002|42余数0,K102|21余数0,K202|10余数1,K312|5余数0,K408|1682|2余数1,K518|21余数0,K0016|1682|1余数0,K608|2余数5,K151616|10余数8,K080余数1,K710余数2,K220余数10,K1A16810101000B168250Q168A8H第14页,共78页,编辑于2022年,星期日2)小数部分转换小数部分转换步骤为:第1步:用q去乘N的纯小数部分,记下乘积的整数部分,作为q

9、进制小数的第1个数码K-1;第2步:再用q去乘上次积的纯小数部分,得到新乘积的整数部分,记为q进制小数的次位数码K-i;第3步:重复第2步,直至乘积的小数部分为零,或者达到所需要的精度位数为止。此时,乘积的整数位作为q进制小数位的数码K-m。第15页,共78页,编辑于2022年,星期日例3:将0.686转换成二、八、十六进制数(用小数点后5位表示)。0.6862=1.372K-1=10.6868=5.488K-1=50.68616=10.976K-1=A0.3722=0.744K-2=00.4888=3.904K-2=30.97616=15.616K-2=F0.7442=1.488K-3=10

10、.9048=7.232K-3=70.61616=9.856K-3=90.4882=0.976K-4=00.2328=1.856K-4=10.85616=13.696K-4=D0.9762=1.952K-5=10.8568=6.848K-5=60.69616=11.136K-5=B0.6860.10101B0.6860.53716Q0.6860.AF9DBH第16页,共78页,编辑于2022年,星期日例4:将168.686转换为二、八、十六进制数。根据例2、例3可得:168.68610101000.10101B168.686250.53716Q168.686A8.AF9DBH第17页,共78页,

11、编辑于2022年,星期日从以上例子可以看出,二进制表示的数愈精确,所需的数位就愈多,这样,不利于书写和记忆,而且容易出错。另外,若用同样数位表示数,则八、十六进制数所表示数的精度较高。所以在汇编语言编程中常用八进制或十六进制数作为二进制数的缩码,来书写和记忆二进制数,便于人机信息交换。在MCS-51系列单片机编程中,通常采用十六进制数。第18页,共78页,编辑于2022年,星期日3.二进制数与八进制数之间的相互转换由于238,故可采用“合3为1”的原则,即从小数点开始分别向左、右两边各以3位为1组进行二八换算;若不足3位的以0补足,便可将二进制数转换为八进制数。例5:将1111011.0101

12、B转换为八进制数。解:根据“合3为1”和不足3位以0补足的原则,将此二进制数书写为:001111011.01010017324因此,其结果为1111011.0101B173.24Q。第19页,共78页,编辑于2022年,星期日例6:将1357.246Q转换成二进制数。解:根据“1分为3”的原则,可将该十进制数书写为:1357.26001011101111010100110其结果为1357.246Q1011101111.01010011B。4.二进制数与十六进制数之间的相互转换由于24=16,故可采用“合4为1”的原则,从小数点开始分别向左、右两边各以4位为1组进行二十六换算;若不足4位以0补足

13、,便可将二进制数转换为十六进制数。第20页,共78页,编辑于2022年,星期日例7:将1101000101011.001111B转换成十六进制数。解:根据“合4为1”的原则,可将该二进制数书写为:0001101000101011001111001A2B3C其结果为1101000101011.001111B=1A2B.3CH。反之,采用“1分为4”的原则,每位十六进制数用4位二进制数表示,便可将十六进制数转换为二进制数。第21页,共78页,编辑于2022年,星期日例8:将4D5E.6FH转换成二进制数。解:根据“1分为4”的原则,可将该十六进制数书写为:4D5E6F010011010101111

14、001101111其结果为4D5E.6FH100110101011110.01101111B。第22页,共78页,编辑于2022年,星期日1.2 二进制数的运算二进制数的运算 1.2.1二进制数的算术运算二进制数不仅物理上容易实现,而且算术运算也比较简单,其加、减法遵循“逢2进1”、“借1当2”的原则。以下通过4个例子说明二进制数的加、减、乘、除运算过程。1.二进制加法1位二进制数的加法规则为:0000111011110(有进位)第23页,共78页,编辑于2022年,星期日例1:求11001010B11101B。解:被加数11001010加数11101进位)00110000和11100111则

15、11001010B11101B11100111B。由此可见,两个二进制数相加时,每1位有3个数参与运算(本位被加数、加数、低位进位),从而得到本位和以及向高位的进位。第24页,共78页,编辑于2022年,星期日2.二进制减法1位二进制数减法规则为:101110000011(有借位)例2:求10101010B10101B。解:被减数10101010减数10101借位)00101010差10010101则10101010B10101B10010101B。第25页,共78页,编辑于2022年,星期日3.二进制乘法1位二进制乘法规则为:000010100111例3:求110011B1011B。解:被乘

16、数110011乘数)1011110011110011000000)110011积1000110001第26页,共78页,编辑于2022年,星期日则110011B1011B1000110001B。由运算过程可以看出,二进制数乘法与十进制数乘法相类似,可用乘数的每1位去乘被乘数,乘得的中间结果的最低有效位与相应的乘数位对齐,若乘数位为1,则中间结果为被乘数;若乘数位为0,则中间结果为0,最后把所有中间结果同时相加即可得到乘积。显然,这种算法计算机实现时很不方便。对于没有乘法指令的微型计算机来说,常采用比较、相加、与部分积右移相结合的方法进行编程来实现乘法运算。第27页,共78页,编辑于2022年,

17、星期日4.二进制除法二进制除法的运算过程类似于十进制除法的运算过程。例4:求100100B101B。解:00011110110010010110001011101011第28页,共78页,编辑于2022年,星期日则100100B101B=111B,余1B。二进制数除法是二进制数乘法的逆运算,在没有除法指令的微型计算机中,常采用比较、相减、余数左移相结合的方法进行编程来实现除法运算。由于MCS-51系列单片机指令系统中包含有加、减、乘、除指令,因此给用户编程带来了许多方便,同时也提高了机器的运算效率。第29页,共78页,编辑于2022年,星期日1.2.2二进制数的逻辑运算1.“与”运算(AND)

18、“与”运算又称逻辑乘,运算符为或。“与”运算的规则如下:00001100111例5:若二进制数X10101111B,Y01011110B,求XY。101011110101111000001110则XY00001110B。第30页,共78页,编辑于2022年,星期日2.“或”运算(OR)“或”运算又称逻辑加,运算符为或。“或”运算的规则如下:00001101111例6:若二进制数X10101111B,Y01011110B,求XY。101011110101111011111111则XY11111111B。第31页,共78页,编辑于2022年,星期日3.“非”运算(NOT)“非”运算又称逻辑非,如变

19、量A的“非”运算记作。“非”运算的规则如下:例7:若二进制数A10101111B,求。01010000B由此可见,逻辑“非”可使A中各位结果均发生反变化,即0变1,1变0。第32页,共78页,编辑于2022年,星期日4.“异或”运算(XOR)“异或”运算的运算符为或,其运算规则如下:00001101110例8:若二进制数X10101111B,Y01011110B,求XY。101011110101111011110001则XY11110001B。第33页,共78页,编辑于2022年,星期日1.3 带符号数的表示方法带符号数的表示方法原码、反码、补码原码、反码、补码 1.3.1机器数与真值在1.2

20、.1、1.2.2节中讨论的二进制数运算均为无符号数运算,但实际的数值是带有符号的,既可能是正数,也可能是负数,前者符号用“”号表示,后者符号用“”号表示,运算的结果也可能是正数,也可能是负数。于是在计算机中就存在着如何表示正、负数的问题。第34页,共78页,编辑于2022年,星期日由于计算机只能识别0和1,因此,在计算机中通常把一个二进制数的最高位作为符号位,以表示数值的正与负(若用8位表示一个数,则D7位为符号位;若用16位表示一个数,则D15位为符号位),并用0表示“”;用1表示“”。例如:N11011,N2-1011在计算机中用8位二进制数可分别表示为:D7D6D5D4D3D2D1D00

21、0001011符号数值部分第35页,共78页,编辑于2022年,星期日1.3.2原码、补码与反码1.原码正数的符号位用0表示,负数的符号位用1表示,数值部分用真值的绝对值来表示的二进制机器数称之为原码,用X原表示。(1)正数的原码。D7D6D5D4D3D2D1D010001011符号数值部分第36页,共78页,编辑于2022年,星期日若真值为正数XKn-2Kn-3K1K0(即n-1位二进制正数),则X原0Kn-2Kn-3K1K0(14)2)负数的原码。若真值为负数XKn-2Kn-3K1K0(即n-1位二进制负数),则X原0Kn-2Kn-3K1K02n-1Kn-2Kn-3K1K02n-1(Kn-

22、2Kn-3K1K0)2n-1X(15)第37页,共78页,编辑于2022年,星期日例如:115和-115在计算机中(设机器字长为8位),其原码可分别表示为:+115原01110011B;-115原11110011B(3)零的原码。若真值为零,则原码有两种表示法:+0原00000-0原10000由此可得原码与真值的关系为X,0X2n2n-1X2nX0(16)X原第38页,共78页,编辑于2022年,星期日2.补码与反码1)补码的概念在日常生活中有许多“补”数的事例。如钟表,假设标准时间为6点整,而某钟表却指在9点,若要把表拨准,可以有两种拨法,一种是倒拨3小时,即936;另一种是顺拨9小时,即9

23、96。尽管将表针倒拨或顺拨不同的时数,但却得到相同的结果,即93与99是等价的。这是因为钟表采用12小时进位,超过12就从头算起,即:99126,该12称之为模(mod)。第39页,共78页,编辑于2022年,星期日模(mod)为一个系统的量程或此系统所能表示的最大数,它会自然丢掉,如:93991266(mod12自然丢掉)通常称9是3在模为12时的补数。于是,引入补数后使减法运算变为加法运算。例如:1171154(mod12)5是7在模为12时的补数,减7与加5的效果是一样的。第40页,共78页,编辑于2022年,星期日一般情况下,任一整数X,在模为K时的补数可用下式表示:X补数XK(mod

24、K)X0XKK-|X|KX0(17)=第41页,共78页,编辑于2022年,星期日由补码的概念引伸,当用n位二进制数表示整数X(1位为符号位,n-1位为数值位),模为2n时,数的补码可表示为:X0X2n-12nX2n-1X0(mod2n)X补(18)第42页,共78页,编辑于2022年,星期日从式(18)可见:正数的补码与其原码相同,即X补X原;零的补码为零,+0补-0补00000;负数才有求补码的问题。2)负数补码的求法补码的求法一般有两种:用补码定义式:X补2nX2n|X|-2n-1X0(整数)(19)第43页,共78页,编辑于2022年,星期日在用补码定义式求补码的过程中,由于做一次减法

25、很不方便,故该法一般不用。例如:X-0101111B,n8,则X补=28(-0101111B)100000000B0101111B11010001B(mod28)用原码求反码,再在数值末位加1可得到补码,即:X补X反1。第44页,共78页,编辑于2022年,星期日3)反码一个正数的反码,等于该数的原码;一个负数的反码,等于该负数的原码符号位不变(即为1),数值位按位求反(即0变1,1变0);或者在该负数对应的正数原码上连同符号位逐位求反。反码用X反表示。X0X2n-1(2n-1)+X-2n-1X0(110)X反第45页,共78页,编辑于2022年,星期日从式(110)可见:正数的反码:X反X原

26、;负数的反码:X反零的反码:+0反00000-0反11111例1:假设X1+83,X2-76,当用8位二进制数表示一个数时,求X1、X2的原码、反码及补码。解:X1原X1反X1补01010011BX2原11001100B第46页,共78页,编辑于2022年,星期日X2反10110011BX2补X反110110100B综上所述可归纳为:正数的原码、反码、补码就是该数本身;负数的原码其符号位为1,数值位不变;负数的反码其符号位为1,数值位逐位求反;负数的补码其符号位为1,数值位逐位求反并在末位加1。第47页,共78页,编辑于2022年,星期日1.3.3补码的运算规则与溢出判别1.补码的运算规则补码

27、的运算规则如下:1)X+Y补X补Y补该运算规则说明:任何两个数相加,无论其正负号如何,只要对它们各自的补码进行加法运算,就可得到正确的结果,该结果是补码形式。第48页,共78页,编辑于2022年,星期日2)X-Y补X补-Y补该运算规则说明:任意两个数相减,只要对减数连同“-”号求补,就变成被减数补与-减数补相加,该结果是补码形式。3)X补补X原对于运算产生的补码结果,若要转换为原码表示,则正数的结果X补X原;负数结果,只要对该补结果再进行一次求补运算,就可得到负数的原码结果。第49页,共78页,编辑于2022年,星期日例2:用补码求X+Y。解:若X补00100101,Y补00110011,可得

28、X+Y补X补+Y补00100101+0011001101011000由于符号位为0是正数,所以X+Y原X+Y补01011000则X+Y(01011000)288第50页,共78页,编辑于2022年,星期日例3:用补码求X-Y。解:若-Y补11001101,可得X-Y补X补+-Y补00100101+1100110111110010由于符号位为1是负数,所以X-Y原X-Y补补10001110则X-Y-(00001110)2-14第51页,共78页,编辑于2022年,星期日例4:用补码求Y-X。解:若-X补11011011,可得Y-X补Y补+-X补00110011+11011011100001110

29、(模28自然丢失)则Y-X(00001110)2+14第52页,共78页,编辑于2022年,星期日例5:用补码求(-X)+(-Y)。解:(-X)+(-Y)补-X补+-Y补11011011+11001101110101000(模28自然丢失)(-X)+(-Y)原(-X)+(-Y)补补11011000则(-X)+(-Y)-(01011000)2-88上述运算结果是正确的,但有时在补码运算中可能会出现错误的结果,请看下面例子。第53页,共78页,编辑于2022年,星期日例6:设X+100,Y+50,用补码运算求X+Y,(-X)+(-Y)。解:X补01100100Y补00110010-X补100111

30、00-Y补11001110X+Y补X补+Y补01100100+0011001010010110X+Y原X+Y补补11101010X+Y-(01101010)2-106而-X补+-Y补10011100+1100111001101010-X补+-Y补原(01101010)201101010(-X)+(-Y)+(01101010)+106第54页,共78页,编辑于2022年,星期日2.溢出的判别计算机中判别溢出的方法通常采用双高位判别法。双高位判别法利用符号位(Kn-1位)及最高数值位(Kn-2位)的进位情况来判断是否发生了溢出。为此,需引进两个符号:CS和CP。CS:若符号位发生进位,则CS1;否

31、则CS0。CP:若最高数值位发生进位,则CP1;否则CP0。第55页,共78页,编辑于2022年,星期日当两个正数补码相加时,若数值部分之和大于2n-1,则数值部分必有进位CP1;而符号位却无进位CS0。这时CSCP的状态为“01”,发生正溢出。当两个负数补码相加时,若数值部分绝对值之和大于2n-1,则数值部分补码之和必小于2n-1,CP0;而符号位肯定有进位CS1,这时CSCP的状态为“10”,发生负溢出。当不发生溢出时,CS和CP的状态是相同的,即CSCP的状态为“00”或“11”。第56页,共78页,编辑于2022年,星期日例7:01011001(+89)10010010(-110)01

32、101100(+108)10100100(-92)+)011110000(进位)+)100000000(进位)011000101(-59)100110110(+54)CS0,CP1,正溢出CS1,CP0,负溢出第57页,共78页,编辑于2022年,星期日例8:00110010(+50)11101100(-20)01000110(+70)11100010(-30)+)000001100(进位)+)111000000(进位)001111000(+120)111001110(-50)CS0,CP0,无溢出CS1,CP1,无溢出第58页,共78页,编辑于2022年,星期日例9:01010101(+85

33、)10111100(-68)11011101(-35)00011101(+29)+)110111010(进位)+)001111000(进位)100110010(+50)011011001(-39)CS1,CP1,无溢出CS0,CP0,无溢出第59页,共78页,编辑于2022年,星期日综上所述,对计算机而言,补码的引入使带符号数的运算都按加法处理。如果C和C的值相等,则表示运算结果正确,没有溢出,运算结果的正与负由符号位决定(如例8、例9);如果CS和CP的值不等,则表示运算结果不正确,发生了溢出现象(如例7)。在计算机中,常用“异或”电路来判别有无溢出发生,即CSCP1表示有溢出发生,否则无溢

34、出发生。第60页,共78页,编辑于2022年,星期日1.4 定点数与浮点数定点数与浮点数 1.4.1定点表示法在计算机中,如将小数点的位置固定不变,称为定点表示法。这个固定的位置是事先约定好的,不必用符号表示。用定点法表示的实数叫做定点数。通常,定点表示采用以下两种方法。第61页,共78页,编辑于2022年,星期日1.定点整数表示法小数点固定在最低数值位之后,机器中能表示的所有数都是整数,这种方法称之为定点整数表示法。其格式如下:符号位数值位其中“.”为设定的小数点位置当用n位表示数N时,1位为符号位,n1位为数值位,则N的范围是:2n-1N2n-11(111)第62页,共78页,编辑于202

35、2年,星期日若n8,则-128N127;若n16,则32768N32767。例如:若N1011011,n8,则在计算机内用定点整数法可将N表示为:01011011第63页,共78页,编辑于2022年,星期日2.定点小数表示法小数点固定在最高数值位之前,机器中能表示的所有数即为纯小数,这种方法称之为定点小数表示法。其格式如下:符号位数值位其中“.”为设定的小数点位置。当用n位表示数N时,1位为符号位,n1位为数值位,则N的范围是:(121-n)N121-n(112)第64页,共78页,编辑于2022年,星期日例如:若N-0.1011011,n8,则在计算机内用定点小数法可将N表示为:010110

36、11第65页,共78页,编辑于2022年,星期日1.4.2浮点表示法在计算机中,小数点位置并不是固定不变的,而是可以改变的,这种表示法称为浮点表示法。用浮点法表示的实数,叫做浮点数。任意一个二进制数N可以表示成如下形式:NM2E(113)称作数符,表示数的正、负;E称为阶码,它前面的符号称为阶符,指明尾数小数点向右或向左浮动的方向,而阶码E指明尾数小数点移动的位数,所以阶符和阶码表明了数值N小数点的位置。第66页,共78页,编辑于2022年,星期日设阶码E的位数为m位,尾数M的位数为n位,则浮点数N的取值范围为:2-n2-(2m-1)|N|(12-n)2(2m-1)(114)例如:对16位表示

37、的浮点原码数,当m7,n7时,它所能表示的最大绝对值为:|N|max(12-n)2(2m-1)(12-7)2(27-1)2127它所能表示的除0以外的最小绝对值为:|N|min2-n2-(2m-1)2-72-(27-1)2-134(115)第67页,共78页,编辑于2022年,星期日由此可见,由于浮点数能表示的数值范围很大,因此,在科学计算时不需要比例因子。为了提高精度,发挥尾数有效位的最大作用,还规定二进制浮点数其尾数数字部分原码的最高位为1,叫做规格化表示法。如:0.0010101可表示为2-20.1010100称为规格化浮点数。第68页,共78页,编辑于2022年,星期日1.5 BCD码

38、和码和ASCII码码1.5.1BCD码(BinaryCodedDecimal)二进制数以其物理易实现和运算简单的优点在计算机中得到了广泛应用,但人们日常习惯最熟悉的还是十进制。为了既满足人们的习惯,又能让计算机接受,便引入了BCD码。它用二进制数码按照不同规律编码来表示十进制数,这样的十进制数的二进制编码,既具有二进制的形式,又具有十进制的特点,便于传递处理。第69页,共78页,编辑于2022年,星期日1位十进制数有09共10个不同数码,需要由4位二进制数来表示。4位二进制数有16种组合,取其10种组合分别代表10个十进制数码。最常用的方法是8421BCD码,其中8、4、2、1分别为4位二进制

39、数的位权值。表12给出了十进制数和8421BCD码的对应关系。第70页,共78页,编辑于2022年,星期日表128421BCD码第71页,共78页,编辑于2022年,星期日从表12中可看出8421BCD码与十进制数关系直观,二十间相互转换容易。例如:将78.43转换成相应的BCD码,而将(01101001.00010101)BCD转换成十进制数。78.43(01111000.01000011)BCD(01101001.00010101)BCD69.15第72页,共78页,编辑于2022年,星期日1.5.2BCD码运算及十进制调整若想让计算机直接用十进制的规律进行运算,则将数据用BCD码来存储和

40、运算即可。例如:4+3即:(0100)BCD+(0011)BCD(0111)BCD715+12即:(00010101)BCD+(00010010)BCD(00100111)BCD27第73页,共78页,编辑于2022年,星期日但是,8421BCD码可表示数的范围为00001111(即十进制的015),而十进制数为00001001(即09)。所以,在运算时,必须注意以下两点:当两个BCD数相加结果大于1001(即大于十进制数9)时,为使其符合十进制运算和进位规律,需对BCD码的二进制运算结果加0110(加6)调整。例如:4+8(0100)BCD+(1000)BCD(1100)BCD1001,调

41、整 后,其 结 果 为:(1100)BCD+(0110)BCD(00010010)BCD12。第74页,共78页,编辑于2022年,星期日当两个BCD数相加结果在本位上并不大于1001,但有低位进位发生,使得两个BCD数与进位一起相加,其结果大于1001,这时也要作加0110(加6)调整。例如:用BCD数完成54+48的运算。解:54(01010100)BCD,48(01001000)BCD第75页,共78页,编辑于2022年,星期日01010100+)0100100010011100(低4位大于9)+)0110(低4位加6调整)10100010(低4位有进位)+)0110(高4位加6调整)0

42、00100000010则(000100000010)BCD102第76页,共78页,编辑于2022年,星期日1.5.3ASCII码与奇偶校验在计算机的应用过程中,如操作系统命令,各种程序设计语言以及计算机运算和处理信息的输入输出,经常用到某些字母,数字或各种符号,如:英文字母的大、小写;09数字符;、*、/运算符;、关系运算符等等。但在计算机内,任何信息都是用代码表示的,因此,这些符号也必须要有自己的编码。第77页,共78页,编辑于2022年,星期日ASCII码采用7位二进制数对字符进行编码,它包括10个十进制数09;大写和小写英文字母各26个;32个通用控制符号;34个专用符号,共128个字符。其中数字09的ASCII编码分别为30H39H,英文大写字母AZ的ASCII编码从41H开始依次编至5AH。ASCII编码从20H7EH均为可打印字符,而00H1FH为通用控制符,它们不能被打印出来,只起控制或标志的作用,如0DH表示回车(CR),0AH表示换行控制(LF),04H(EOT)为传送结束标志。第78页,共78页,编辑于2022年,星期日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com