第2章计算机中数制及转换优秀课件.ppt
第2章计算机中数制及转换第1页,本讲稿共35页*第2章 计算机中的数制及编码2/342.1 二进制数与数制二进制数与数制第第2章章 计算机中的数制及编码计算机中的数制及编码第2页,本讲稿共35页*第2章 计算机中的数制及编码3/34引言引言 十进制数十进制数是人们习惯使用的进制。是人们习惯使用的进制。计算机计算机只能只能“识别识别”二进制数二进制数。为了书写和识读方便,计算机程序需要用为了书写和识读方便,计算机程序需要用 十六进制数十六进制数表示。表示。十进制数、二进制数、十六进制数之间的十进制数、二进制数、十六进制数之间的 关系、相互转换和运算方法,是学习计算关系、相互转换和运算方法,是学习计算机必备的基础知识。机必备的基础知识。第3页,本讲稿共35页*第2章 计算机中的数制及编码4/34q 二进制数是计算机工作的基础,在计算机二进制数是计算机工作的基础,在计算机中只能使用二进制数。中只能使用二进制数。q 所有指令、数据、字符和地址的表示,以所有指令、数据、字符和地址的表示,以及它们的存储、处理和传送都是以二进制及它们的存储、处理和传送都是以二进制形式进行的,因此计算机的电路逻辑和处形式进行的,因此计算机的电路逻辑和处理方法也都是按二进制的原则实现的。理方法也都是按二进制的原则实现的。q 没有二进制就没有电子计算机。没有二进制就没有电子计算机。第4页,本讲稿共35页*第2章 计算机中的数制及编码5/342.1.1 2.1.1 进位计数制进位计数制进位数制具有如下进位数制具有如下特点特点:每一种进位数制的数字符号的个数等于计每一种进位数制的数字符号的个数等于计数制的基数;数制的基数;逢基数进一;逢基数进一;数字的权与其位置有关,且为基数的幂的数字的权与其位置有关,且为基数的幂的 形式。形式。第5页,本讲稿共35页*第2章 计算机中的数制及编码6/341.二进制数(二进制数(Binary)特点:特点:基数是基数是2 2。只有两个数码:。只有两个数码:0 0 和和 1 1;进位规则是进位规则是“逢二进一逢二进一”;每每左左移一位移一位,数值数值增大增大一倍;一倍;右右移一位移一位,数值数值减小减小一半;一半;二进制数用尾缀二进制数用尾缀B B作为标识符。作为标识符。【例例】111.11B=12 111.11B=122 2+12+121 1+12+120 0+12+12-1-1+12+12-2-2=7.75=7.75 其中,其中,2 22 2、2 21 1、2 20 0、2 2-1-1、2 2-2-2 称为二进制数各数位的称为二进制数各数位的“权权”2.1.2 二进制数及在计算机中的应用二进制数及在计算机中的应用第6页,本讲稿共35页*第2章 计算机中的数制及编码7/342.二进制数的单位二进制数的单位(1)位()位(bit)指二进制数的位。位是数的最小单位,中文称作指二进制数的位。位是数的最小单位,中文称作“比特比特”。(2)字节()字节(Byte)8位二进制数称为一个字节,常用大写字母位二进制数称为一个字节,常用大写字母B表示。字节是最基本的数据表示。字节是最基本的数据单位,计算机的数据、代码、指令、地址多以字节为单位。单位,计算机的数据、代码、指令、地址多以字节为单位。(3)字()字(Word)字是一台计算机上所能并行处理的二进制数,字的位数(或长度)称之为字是一台计算机上所能并行处理的二进制数,字的位数(或长度)称之为字长。字长必须是字节的整数倍。字长。字长必须是字节的整数倍。如如MCS-51单片机字长为单片机字长为8位,位,MCS-96单片机字长为单片机字长为16位,在微位,在微机中还有机中还有32位、位、64位的计算机。位的计算机。第7页,本讲稿共35页*第2章 计算机中的数制及编码8/343.二进制数运算二进制数运算算数运算算数运算【例例】00110101B00110101B+10011100B10011100B(1)二进制数加法运算二进制数加法运算规则:规则:0+0=0,0+1=1+0=1,1+1=0(向高位进(向高位进1)。)。11010001B11010001B第8页,本讲稿共35页*第2章 计算机中的数制及编码9/34【例例】10110101B10110101B-10011100B10011100B规则:规则:0 0=0,1 0=0,1 1=0,0 1=1(向高位借(向高位借1)。)。(2)二进制数减法运算二进制数减法运算 00011001B00011001B算数运算算数运算第9页,本讲稿共35页*第2章 计算机中的数制及编码10/3411011101 (3)二进制数乘法运算二进制数乘法运算 规则:规则:00=0,10=01=0,11=1。【例例】1101B1101B 1001B1001B1110101B1110101B+1101+1101算数运算算数运算第10页,本讲稿共35页*第2章 计算机中的数制及编码11/34(4)二进制数除法运算二进制数除法运算规则:规则:00=0,01=0,11=1。1 111101110【例例】110111011110110111011010011001 11011101 11011101算数运算算数运算第11页,本讲稿共35页*第2章 计算机中的数制及编码12/34(1)二进制数二进制数“与与”运算运算规则:规则:0 0=0,1 0=0,1 0=0,1 1=1。【例例】10110101B10110101B 10011100B10011100B10010100B10010100B逻辑运算逻辑运算第12页,本讲稿共35页*第2章 计算机中的数制及编码13/34规则:规则:0 0=0,1 0=1,1 1=1,0 1=1。(2)二进制数二进制数“或或”运算运算【例例】10110101B10110101B 10011100B10011100B10111101B10111101B逻辑运算逻辑运算第13页,本讲稿共35页*第2章 计算机中的数制及编码14/34(3)二进制数二进制数“异或异或”运算运算规则:规则:00=0,01=1,10=1,11=0。【例例】10110101B10110101B 10011100B10011100B00101001B00101001B逻辑运算逻辑运算第14页,本讲稿共35页*第2章 计算机中的数制及编码15/34 十进制数(十进制数(decimal)主要特点:主要特点:基数是基数是1010。有。有1010个数码(数符)构成:个数码(数符)构成:0 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7、8 8、9 9。进位规则是进位规则是“逢十进一逢十进一”。【例例】1234.56 1234.56 =1=110103 3+2+210102 2+3+310101 1+4+410100 0+5+51010-1-1+6+61010-2-2 =1000+200+30+4+0.5+0.06 =1000+200+30+4+0.5+0.06 上述,上述,10103 3、10102 2、10101 1、10100 0、1010-1-1、1010-2-2 称为十进制数各数位的称为十进制数各数位的“权权 ”。2.1.3 其他进制数其他进制数第15页,本讲稿共35页*第2章 计算机中的数制及编码16/34 2.2.十六进制数(十六进制数(HexadecimalHexadecimal)主要主要特点特点:基数是基数是1616。共有。共有1616个数符构成:个数符构成:0 0、1 1、9 9、A A、B B、C C、D D、E E、F F。其中,。其中,A A、B B、C C、D D、E E、F F 代表的数值分别为代表的数值分别为 1010、1111、1212、1313、1414、1515。进位规则是进位规则是“逢十六进一逢十六进一”。十六进制数用尾缀十六进制数用尾缀H H表示。表示。【例例】A3.4HA3.4H =10 =1016161 1+3+316160 0+4+41616-1-1 =160+3+0.25=160+3+0.25 =163.25 =163.25 其中,其中,16163 3、16162 2、16161 1、16160 0、1616-1-1、1616-2-2 称为十六进制数各数位的称为十六进制数各数位的“权权”。第16页,本讲稿共35页*第2章 计算机中的数制及编码17/34十六进制数、二进制数和十进制数对应关系表十六进制数、二进制数和十进制数对应关系表 十进制数十进制数十六进制数十六进制数二进制数二进制数十进制数十进制数十六进制数十六进制数二进制数二进制数0 000H00H0000B0000B11110BH0BH 1011B 1011B1 101H01H0001B0001B12120CH0CH 1100B 1100B2 202H02H0010B0010B13130DH0DH 1101B 1101B3 303H03H0011B0011B14140EH0EH 1110B 1110B4 404H04H0100B0100B15150FH0FH 1111B 1111B5 505H05H0101B0101B161610H10H 0001 0000B 0001 0000B6 606H06H0110B0110B171711H11H 0001 0001B 0001 0001B7 707H07H0111B0111B181812H12H 0001 0010B 0001 0010B8 808H08H1000B1000B191913H13H 0001 0011B 0001 0011B9 909H09H1001B1001B202014H14H 0001 0100B 0001 0100B10100AH0AH1010B1010B212115H15H 0001 0101B 0001 0101B第17页,本讲稿共35页*第2章 计算机中的数制及编码18/34 二进制数与十六进制数相互转换二进制数与十六进制数相互转换 二进制数转换成十六进制数二进制数转换成十六进制数 (四位合一位)(四位合一位)自右向左,四位一组,不足四位,向左填零,自右向左,四位一组,不足四位,向左填零,各部分用相应的十六进制数替代;各部分用相应的十六进制数替代;2.1.4 不同进制数的转换(整数)不同进制数的转换(整数)第18页,本讲稿共35页*第2章 计算机中的数制及编码19/34二进制二进制十六进制十六进制二进制二进制十六进制十六进制00000100080001110019001021010100011310111101004110012010151101130110611101401117111115每位十六进制数分别用相应每位十六进制数分别用相应4位二进制数替代。位二进制数替代。十六进制数转换成二进制数(十六进制数转换成二进制数(一位分四位一位分四位)第19页,本讲稿共35页*第2章 计算机中的数制及编码20/34 十进制数整数转换成十六进制数的方法:十进制数整数转换成十六进制数的方法:除除16取余法取余法 2.十进制数转换成二进制数、十六进制数十进制数转换成二进制数、十六进制数 十进制整数转换成二进制整数的方法:十进制整数转换成二进制整数的方法:除除2取余法取余法第20页,本讲稿共35页*第2章 计算机中的数制及编码21/343.十六进制数运算十六进制数运算(算数和逻辑运算算数和逻辑运算)先将十六进制数转换成二进制数,先将十六进制数转换成二进制数,然后根据二进制运算法则进行运算,然后根据二进制运算法则进行运算,再转换成十六进制数。再转换成十六进制数。第21页,本讲稿共35页*第2章 计算机中的数制及编码22/342.2 计算机中数据的表示方法计算机中数据的表示方法第第2章章 计算机中的数制及编码计算机中的数制及编码第22页,本讲稿共35页*第2章 计算机中的数制及编码23/341.原码、反码和补码原码、反码和补码数的正负表示形式:数的正负表示形式:D7=D7=1 1 表示表示负数负数,D7=D7=0 0 表示表示正数正数。D7 D7 D6 D5 D4 D3 D2 D1 D0D6 D5 D4 D3 D2 D1 D0 符号位符号位 数值位数值位 第23页,本讲稿共35页*第2章 计算机中的数制及编码24/34X反反=X原数值位取反,符号位不变。原数值位取反,符号位不变。在计算机中,机器数有三种表示方法:在计算机中,机器数有三种表示方法:即原码、反码和补码。即原码、反码和补码。采取补码运算,可以将减法转换成加法运算。采取补码运算,可以将减法转换成加法运算。对于正数:对于正数:X原原=X反反=X补补 对于负数:对于负数:X补补=X反反+1第24页,本讲稿共35页*第2章 计算机中的数制及编码25/34原码、反码和补码对应关系表原码、反码和补码对应关系表 无符号二进制数无符号二进制数 无符号十进制数无符号十进制数 原码原码 反码反码 补码补码 000000000+0+00000000011+1+1+1000000102+2+2+201111101125+125+125+12501111110126+126+126+12601111111127+127+127+12710000000128-0-127-12810000001129-1-126-12710000010130-2-125-12611111101253-125-2-311111110254-126-1-211111111255-127-0-1第25页,本讲稿共35页*第2章 计算机中的数制及编码26/342.常用编码常用编码 8421 8421 BCDBCD码码称称为为二二-十十进进制制数数或或简简称称BCDBCD码码 (Binary(Binary Coded Coded Decimal Decimal Code)Code),用标识符用标识符BCDBCD表示。表示。特点:特点:保留了十进制的权保留了十进制的权 每一位十进制数字则用二进制码表示每一位十进制数字则用二进制码表示(1 1)8421 BCD8421 BCD码码第26页,本讲稿共35页*第2章 计算机中的数制及编码27/34 编码方法编码方法 二二-十进制数十进制数是十进制数,逢十进一,只是数符是十进制数,逢十进一,只是数符0 09 9用用4 4位二进制码位二进制码 0000 0000 1001 1001 表示而已;表示而已;每每4 4位以内位以内按二进制进位按二进制进位;4 4位与位与4 4位之间位之间按十进制进位按十进制进位。转换关系转换关系 (a a)BCD码与十进制数相互转换关系码与十进制数相互转换关系 (b b)BCD码与二进制数相互转换关系码与二进制数相互转换关系 BCD码与二进制数之间不能直接相互转换,通常码与二进制数之间不能直接相互转换,通常要先转换成十进制数。要先转换成十进制数。第27页,本讲稿共35页*第2章 计算机中的数制及编码28/34【例例】将二进制数将二进制数01000011B01000011B转换成转换成BCDBCD码。码。解:解:01000011B=67=0110 011101000011B=67=0110 0111BCDBCD 需要指出的是需要指出的是:决不能把决不能把0110011101100111BCDBCD误认为二进制码误认为二进制码01100111B01100111B,二进制码,二进制码01100111B01100111B的值为的值为103103,而,而0110011101100111BCDBCD 的值为的值为6767,显然两者是不一样的。,显然两者是不一样的。第28页,本讲稿共35页*第2章 计算机中的数制及编码29/34 BCDBCD码运算码运算 BCDBCD码码用用4 4位位二二进进制制数数表表示示,但但4 4位位二二进进制制数数最最多多可可表表示示1616种种状状态态,余余下下6 6种种状状态态,1010101011111111在在BCDBCD编编码码中中称称为为非非法法码码或或冗冗余余码码。在在BCDBCD码码的的运运算算中中将将会会出出现现冗冗余余码码,需要作某些修正,才能得到正确需要作某些修正,才能得到正确的结果。的结果。若相加后的低若相加后的低4 4位(或高位(或高4 4位)二进制数大于位)二进制数大于9 9,或,或大于大于1515(即低(即低4 4位或高位或高4 4位的最高位有进位),则应对位的最高位有进位),则应对低低4 4位(或高位(或高4 4位)加位)加6 6修正修正。修正方法修正方法:第29页,本讲稿共35页*第2章 计算机中的数制及编码30/34(2 2)ASCIIASCII码码作作用用:用用二二进进制制编编码码表表示示各各种种字字母母和和符符号号ASCIIASCII码码(American American Standed Standed Code Code for for Information Information InterchangeInterchange,美国信息交换标准代码)。,美国信息交换标准代码)。表示表示:ASCII码用码用7位二进制数表示位二进制数表示 高高3位组位组 低低4位组位组 b6 b5 b4 b3 b2 b1 b0 最高一位最高一位b7用于奇偶校验用于奇偶校验第30页,本讲稿共35页*第2章 计算机中的数制及编码31/34ASCIIASCII编码表编码表 b6b5b4 b3b2b1b0 0000010100111001011101110000NULDLESP0P、p0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?OoDEL第31页,本讲稿共35页*第2章 计算机中的数制及编码32/34早期的早期的ASCII码采用码采用7位二进制代码对字符位二进制代码对字符进行编码。它包括进行编码。它包括32个通用控制字符,个通用控制字符,10个阿拉伯数字,个阿拉伯数字,52个英文大,小字母,个英文大,小字母,34个专用符号共个专用符号共128个。个。7位位ASCII代码在最高代码在最高位添加一个位添加一个“0”组成组成8位代码,正好占一位代码,正好占一个字节,在存储和传输信息中,最高位常个字节,在存储和传输信息中,最高位常作为奇偶校验位使用。扩展作为奇偶校验位使用。扩展ASCII码,即第码,即第八位不再视为校验位而是当作编码位使用。八位不再视为校验位而是当作编码位使用。扩展扩展 ASCII码有码有256个。个。第32页,本讲稿共35页*第2章 计算机中的数制及编码33/34温馨提示:几个常用数值温馨提示:几个常用数值1K=1024=2101M=1024K=2201G=1024M=2301T=1024G=240216=26210=64K=655364K=22210,相应的数值变化范围是,相应的数值变化范围是12个个0到到12个个1,即,即000HFFFH第33页,本讲稿共35页*第2章 计算机中的数制及编码34/34本章小结本章小结 十进制数十进制数是人们习惯使用的进制。是人们习惯使用的进制。计算机只能计算机只能“识别识别”二进制数二进制数。为了书写和识读方便,计算机程序需要用为了书写和识读方便,计算机程序需要用 十六进制数十六进制数表示。表示。十进制数、二进制数、十六进制数之间的十进制数、二进制数、十六进制数之间的 关系关系、相互转换相互转换和和运算方法运算方法,是学习计算,是学习计算 机必备的基础知识。机必备的基础知识。第34页,本讲稿共35页*第2章 计算机中的数制及编码35/34练习1.将二进制数将二进制数 01001111 转换成转换成 BCD 数。数。01001111B=79D=(0111.1001)BCD2.将将BCD 数数01000111转换成十六进制数。转换成十六进制数。47D=2FH3.计算计算-3的补码,写出计算过程。的补码,写出计算过程。原码:原码:10000011 反码:反码:11111100 补码:补码:1111.11014.将将 8BDH 和和 0CAFH转换成二进制数。转换成二进制数。1000.1011.1101B 1100.1010.1111B5.将二进制将二进制1.010.111B转换成八进制数。转换成八进制数。1 2 7 第35页,本讲稿共35页