《进制数转换(3).ppt》由会员分享,可在线阅读,更多相关《进制数转换(3).ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2 计算机中的数制与编码2.1 进位记数制度2.2 计算机中常用的几种记数制2.3 常用记数制之间的转换2.4 计算机中数据的编码2.1 进位记数制度 使用多位数码符号表示数值时,每一位数所使用的使用多位数码符号表示数值时,每一位数所使用的数码符号以及运算时从低位向高位借进位的规则,被数码符号以及运算时从低位向高位借进位的规则,被称为称为进位记数制(或被称为记数制、数制、进制)。)。例如:在数学运算中使用十进制;在表示时间时使例如:在数学运算中使用十进制;在表示时间时使用六十进制(如用六十进制(如60分钟为分钟为1小时)、十二进制(小时)、十二进制(12个月个月为为1年)和二十四进制(如年)和
2、二十四进制(如24小时为小时为1天);天);进制的基本要素:1.数码 表示一个数位所使用的数字符号被称为数码。例如,十进制表示一个数位所使用的数字符号被称为数码。例如,十进制中使用的中使用的0,1,2,3,9都是数码。都是数码。2.基数 一种数制所使用的数码符号的个数称为该数制的基数。一种数制所使用的数码符号的个数称为该数制的基数。R进进制的基数为制的基数为R。例如,十进制允许使用。例如,十进制允许使用09这十个数码,因这十个数码,因此十进制的基数就为此十进制的基数就为10。3.位权 某个数位的单位称为该数位的位权(例如,在十进制中,个某个数位的单位称为该数位的位权(例如,在十进制中,个位、十
3、位、百位的单位分别为个、十、百,因此个位、十位、位、十位、百位的单位分别为个、十、百,因此个位、十位、百位的位权分别为百位的位权分别为100、101、102)。)。4.借进位规则 有关进行加法(或乘法)运算,达到多少值需向高位进有关进行加法(或乘法)运算,达到多少值需向高位进位位“1”,进行减法(或除法)运算,何时需从高位借,进行减法(或除法)运算,何时需从高位借“1”,借来的,借来的“1”在本位当成几的运算规则,称为借在本位当成几的运算规则,称为借进位规则。同一种进制的所有数位都应遵从统一的借进进位规则。同一种进制的所有数位都应遵从统一的借进位规则。这就是位规则。这就是“逢基数进一,借一当基
4、数逢基数进一,借一当基数”。例如,十进制的基数为十,因此它的借进位规则是例如,十进制的基数为十,因此它的借进位规则是“逢逢十进一,借一当十十进一,借一当十”5.按权展开式 按权展开式可以表述如下:按权展开式可以表述如下:其中,(N)RR进制数N;R基数;Ri第i位的位权,(iZ,且n-1i-m);Ai位权为Ri的数位上的数码符号,(Ai0,1,R-1);n(N)R的整数位数,(n0,Z);m(N)R的小数位数,(m0,Z)。例例1.1 写出按权展开十进制数写出按权展开十进制数9876.54的表达式。的表达式。9876.54=910381027101610051014102。例例1.2 写出按权
5、展开二进制数写出按权展开二进制数111011.1010的多项式。的多项式。(111011.1010)2=125124123022121120 1210221230242.2 计算机中常用的几种记数制1.二进制(Binary,B)二进制数二进制数P一般简记为一般简记为(P)2或或PB。如:二进制数。如:二进制数11011.11记为(记为(11011.11)2或或11011.11B。二进制的基本特点是:基数基数R为为2,即只含有两个数码:,即只含有两个数码:0、1;位权为位权为2i(i=-mn-1,m和和n为自然数);为自然数);借进位规则:逢二进一,借一当二。借进位规则:逢二进一,借一当二。在计
6、算机内部,所有数据、信息都是以在计算机内部,所有数据、信息都是以二进制的形式编码表的形式编码表示的示的,这是因为二进制具有如下优点:,这是因为二进制具有如下优点:(1)简单可行,容易实现。)简单可行,容易实现。(2)运算规则简单。)运算规则简单。(3)运算速度快。)运算速度快。(4)容易实现逻辑运算。)容易实现逻辑运算。缺点:数字冗长、书写繁复且容易出错、不便阅读。所以,缺点:数字冗长、书写繁复且容易出错、不便阅读。所以,在计算机技术文献的书写中,常用十六进制数表示。在计算机技术文献的书写中,常用十六进制数表示。2.八进制(Octal,O)八进制数八进制数P一般简记为(一般简记为(P)8或或P
7、O。如八进制数。如八进制数17记为记为(17)8或或17O。八进制的基本特点是:基数基数R为为8,即有八个基本数码:,即有八个基本数码:0、1、2、3、4、5、6、7;位权为位权为8i(i=-mn-1,m和和n为自然数);为自然数);借进位规则:逢借进位规则:逢8进进1,借,借1当当8。3.十进制(Decimal,D)十进制数十进制数P一般简记为(一般简记为(P)10或或PD,也可省略记为,也可省略记为P。如十进制数如十进制数123,简记为(,简记为(123)10或或123D或或123。十进制的基本特点是:基数基数R为为10,即有十个基本数码:,即有十个基本数码:0、1、2、3、4、5、6、7
8、、8、9;位权为位权为10i(i=-mn-1,m和和n为自然数);为自然数);借进位规则:逢十进一,借一当十。借进位规则:逢十进一,借一当十。4.十六进制(Hexadecimal,H)十六进制数十六进制数P一般简记为(一般简记为(P)16或或PH。如十六进制数。如十六进制数1F,记为(,记为(1F)16或或1FH。十六进制的基本特点是:基数基数R为为16,即有,即有16个基本数码,符号为:个基本数码,符号为:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。注意使用字。注意使用字母母A、B、C、D、E、F分别表示十进制数分别表示十进制数10、11、12、13、14、15,以示区别
9、;,以示区别;位权为位权为16i(i=-mn-1,m和和n为自然数);为自然数);借进位规则:逢借进位规则:逢16进进1,借,借1当当16。表1.3 常用数制基本要素和表示方法表表1.4 1.4 常用数制之间的对照关系常用数制之间的对照关系2.3 常用记数制之间的转换常用记数制之间的转换1.R(R=2、8、16)进制数转换为十进制 转换规则:将转换规则:将R进制数转换为十进制数一般使用按权展开多进制数转换为十进制数一般使用按权展开多项式的形式,然后计算求和得到对应的十进制数据。可简述为项式的形式,然后计算求和得到对应的十进制数据。可简述为口诀:口诀:“利用按权展开式展开”。例例1.8 把(把(
10、1100101.101)2转换成十进制数。转换成十进制数。解:解:(1100101.101)2=126+125+024+023+122+021+120+12-1+02-2+12-3 =64+32+0+0+4+0+1+0+0.5+0.125=(101.625)10例例1.10 把(把(19BF.8)16转换成十进制数。转换成十进制数。解:(解:(19BF.8)16=11639162B161F160 816-1=40962304176150.5=(6 591.5)102.十进制数转换为R(R=2、8、16)进制数 将一个十进制数转换为将一个十进制数转换为R(R=2、8、16)进制数时,十进制)进制
11、数时,十进制数的整数部分和小数部分的转换方法各不同,其整数部分和数的整数部分和小数部分的转换方法各不同,其整数部分和小数部分分别用小数部分分别用“除R取余法”和和“乘R取整法”转换,然转换,然后将结果与小数点共三部分合在一起。转换规则如下:后将结果与小数点共三部分合在一起。转换规则如下:整数部分整数部分:用“除R取余法”转换。将十进制的整数部分除以将十进制的整数部分除以R,得到一个商数和余数;再将这个商除以,得到一个商数和余数;再将这个商除以R,又得到一个商,又得到一个商和余数;反复执行这个过程,直到商为和余数;反复执行这个过程,直到商为0为止。将每次所得为止。将每次所得的余数从后往前读(先得
12、的余数为低位,后得的余数为高位)的余数从后往前读(先得的余数为低位,后得的余数为高位)即为等值的二进制数。这种转换方法可简述为口诀:即为等值的二进制数。这种转换方法可简述为口诀:“除基取余,倒序排列”。小数部分小数部分:用“乘R取整法”转换。将小数部分乘以将小数部分乘以R,记,记下下乘积的整数部分,再用余下的纯小数部分乘以乘积的整数部分,再用余下的纯小数部分乘以R,记下乘积的,记下乘积的整数部分;不断重复此过程,直至乘积小数部分为整数部分;不断重复此过程,直至乘积小数部分为0或已满足或已满足要求的精度为止。将所得各乘积的整数部分顺序排列(先得的要求的精度为止。将所得各乘积的整数部分顺序排列(先
13、得的整数为高位,后得的整数为低位)即可。这种转换方法可简述整数为高位,后得的整数为低位)即可。这种转换方法可简述为口诀:为口诀:“乘基取整,顺序排列”。例例1.11 把十进制整数把十进制整数(35.6875)10转换成二进制数。转换成二进制数。解:转换过程如下:解:转换过程如下:第一步:用除第一步:用除2取余法将整数部分取余法将整数部分(35)10转换为二进制整数;转换为二进制整数;即:(35)10=(100011)2。第二步:用乘第二步:用乘2取整法将小数部分取整法将小数部分(0.6875)10转换为二进制形式;转换为二进制形式;0.68752=1.3750 取整数部分取整数部分1 高位高位
14、 0.37502=0.7500 取整数部分取整数部分0 0.75002=1.5000 取整数部分取整数部分1 0.50002=1.0000 取整数部分取整数部分1 低位低位即:(即:(0.6875)10=(0.1011)2。第三步:将整数部分与小数部分合并,可得:第三步:将整数部分与小数部分合并,可得:(35.6875)10=(100011.1011)2例例1.12 把十进制小数把十进制小数0.624转换成二进制小数,要求精确到小转换成二进制小数,要求精确到小数点后数点后6位。位。解:转换过程如下:解:转换过程如下:0.6242=1.248 取整数部分取整数部分1 高位高位 0.2482=0.
15、496 取整数部分取整数部分0 0.4962=0.992 取整数部分取整数部分0 0.9922=1.984 取整数部分取整数部分1 0.9842=1.968 取整数部分取整数部分1 0.9682=1.936 取整数部分取整数部分1 低位低位 上述转换过程无限,但根据要求只要转换上述转换过程无限,但根据要求只要转换6步。最后结果为:步。最后结果为:(0.624)10(0.100111)23.八进制数、十六进制数转换为二进制数 转换规则:将每位八进制(或十六进制)数码用相应的三位转换规则:将每位八进制(或十六进制)数码用相应的三位(或四位)二进制数来代替,再删除整数部分首部的零和小数(或四位)二进
16、制数来代替,再删除整数部分首部的零和小数部分尾部的零即可。这种转换方法可简述为口诀:部分尾部的零即可。这种转换方法可简述为口诀:“逐位转换,一位拆三位(或四位)”。表1.5 八进制基本数码与二进制数的对应关系表表1.6 十六进制基本数码与二进制数的对应关系表例例1.16 把十六进制数把十六进制数1C2.A4转换成二进制数。转换成二进制数。解:解:所以,(1C2.A4)16=(111000010.101001)24.二进制数转换为八进制数、十六进制数 转换规则:以小数点为中心,分别向前、后每三(或四)位转换规则:以小数点为中心,分别向前、后每三(或四)位一组,不足三(或四)位时以一组,不足三(或
17、四)位时以“0”补足(最高(左)位和补足(最高(左)位和最低(右)位的两组如不足三(或四)位,则用最低(右)位的两组如不足三(或四)位,则用0分别补最分别补最左边和最右边凑成三(或四)位),并将每组二进制数转换左边和最右边凑成三(或四)位),并将每组二进制数转换为相应的八(或十六)进制数即可。这种转换方法可简述为为相应的八(或十六)进制数即可。这种转换方法可简述为口诀:口诀:“三(或四)位合一位,分组转换”。例例1.18 把二进制数把二进制数11010111100.11011转换成十六进制数。转换成十六进制数。解:解:所以,(11010111100.11011)2=(6BC.D8)165.八进
18、制数与十六进制数的互换 八进制数与十六进制数之间不存在直接的转换方法。利用它八进制数与十六进制数之间不存在直接的转换方法。利用它们与二进制数的转换比较简单的特点,可以先将八进制数(或们与二进制数的转换比较简单的特点,可以先将八进制数(或十六进制数)转换成二进制数,然后再将二进制数转换成十六十六进制数)转换成二进制数,然后再将二进制数转换成十六进制(或八进制数),这种转换方法可简述为口诀:进制(或八进制数),这种转换方法可简述为口诀:“以二进制为桥”。例例1.19 八进制数八进制数1325.72转换成十六进制数。转换成十六进制数。解:(解:(1325.72)8=(1011010101.11101
19、)2=(2D5.E8)16小结 表1.7 常用进制间的转换方法2.4 计算机中数据的编码 由于计算机只能识别由于计算机只能识别二进制形式的符号,这就要求人形式的符号,这就要求人们在使用计算机处理实际问题之前必须将各种信息,们在使用计算机处理实际问题之前必须将各种信息,包括数值信息(数值数据)和非数值信息(大小写英包括数值信息(数值数据)和非数值信息(大小写英文字母、标点符号、汉字、声音、图像等)转换成二文字母、标点符号、汉字、声音、图像等)转换成二进制数。另一方面为了保证计算机各部件之间和计算进制数。另一方面为了保证计算机各部件之间和计算机与计算机之间能正确地传输和识别信息,还要求采机与计算机
20、之间能正确地传输和识别信息,还要求采用统一的编码方法(或称为编码规则)。用统一的编码方法(或称为编码规则)。有关数值数据在计算机内部的具体表示方法本节不予有关数值数据在计算机内部的具体表示方法本节不予讨论,讨论,主要讨论字符和汉字的编码主要讨论字符和汉字的编码。在此之前,先要。在此之前,先要了解计算机中数据的单位。了解计算机中数据的单位。1.数据的单位数据的单位 (1)位(bit):计算机中最小的不可分割的数据单位是二:计算机中最小的不可分割的数据单位是二进制的一个数位称为比特位,简称位。用英文进制的一个数位称为比特位,简称位。用英文bit表示。表示。(2)字节(Byte):相邻:相邻8个比特
21、位组成一个字节,用个比特位组成一个字节,用B表示表示(英文为(英文为Byte)。)。字节是计算机中用来表示存储容量大小的是计算机中用来表示存储容量大小的基本单位。基本单位。另外容量的表示还常使用另外容量的表示还常使用KB(千字节)、(千字节)、MB(兆字节)、(兆字节)、GB(十亿字节)、(十亿字节)、TB(兆兆字节)等。它们(兆兆字节)等。它们之间有如下的换算关系:之间有如下的换算关系:1 B=8 bits 1 KB=210 B=1 024 B 1 MB=220 B=1 024 KB 1 GB=230 B=1 024 MB 1 TB=240 B=1 024 GB请问:1GB=?B(3)字:在
22、计算机中作为一个整体被存取、传送、处理的二:在计算机中作为一个整体被存取、传送、处理的二进制数位叫做一个字,每个字中二进制位数的长度,称为进制数位叫做一个字,每个字中二进制位数的长度,称为字长。不同的计算机系统的字长是不同的,常见的有。不同的计算机系统的字长是不同的,常见的有8位、位、16位、位、32位、位、64位等。位等。字长表示了计算机的性能,字长越长,精字长表示了计算机的性能,字长越长,精度越高、存储容量越大、运算速度越高、功能越强度越高、存储容量越大、运算速度越高、功能越强。2.字符的编码字符的编码 计算机中的信息都是用二进制编码表示的,用以表示计算机中的信息都是用二进制编码表示的,用
23、以表示字符的二进制编码称为字符编码。计算机中用得最多字符的二进制编码称为字符编码。计算机中用得最多的符号数据是字符(大小写英文字母、阿拉伯数字、的符号数据是字符(大小写英文字母、阿拉伯数字、运算符、标点符号等)。运算符、标点符号等)。最常用的字符编码是最常用的字符编码是ASCII(American Standard Code for information Interchange)码,)码,ASCII码是使用最码是使用最多、最普遍且符合国际标准的美国标准信息交换码多、最普遍且符合国际标准的美国标准信息交换码。国际通用的国际通用的7位位ASCII码称码称ISO646标准,用标准,用7位二进制数b
24、6b5b4b3b2b1b0表示一个字符的编码,其编码范表示一个字符的编码,其编码范围为围为0000000B1111111B,共有,共有27=128个个不同的编码不同的编码值,相应可以表示值,相应可以表示128个个不同字符。不同字符。7位位ASCII码表如码表如表表1.8所示。所示。表1.18 ASCII字符编码表3.汉字的编码 为了用计算机处理汉字,同样也需要对汉字进行编码。由为了用计算机处理汉字,同样也需要对汉字进行编码。由于汉字是单个的方块字,字型复杂,数目繁多,读音多变,于汉字是单个的方块字,字型复杂,数目繁多,读音多变,同音、同型字很多,即使是最常用的汉字也有同音、同型字很多,即使是最
25、常用的汉字也有2000余个之多。余个之多。因此给计算机的汉字输入、存储和处理都带来了极大的困难。因此给计算机的汉字输入、存储和处理都带来了极大的困难。计算机要处理汉字信息,必须解决汉字的输入、汉字的计算机要处理汉字信息,必须解决汉字的输入、汉字的存储和表示以及汉字的显示等问题。汉字编码是为了解决这存储和表示以及汉字的显示等问题。汉字编码是为了解决这些问题的需要。计算机对汉字信息的处理过程实际上是各种些问题的需要。计算机对汉字信息的处理过程实际上是各种汉字编码间的转换过程。这些编码主要包括:汉字编码间的转换过程。这些编码主要包括:汉字信息交换汉字信息交换码、汉字输入码、汉字内码、汉字字形码及汉字
26、地址码码、汉字输入码、汉字内码、汉字字形码及汉字地址码等。等。(1)汉字信息交换码汉字信息交换码 汉字信息交换码是用于汉字信息处理系统之间或者通信系统汉字信息交换码是用于汉字信息处理系统之间或者通信系统之间进行信息交换的汉字代码,简称交换码,也叫之间进行信息交换的汉字代码,简称交换码,也叫国标码。其中收集了其中收集了682个非汉字图形字符(如:序号、数字、罗马个非汉字图形字符(如:序号、数字、罗马数字、英文字母、日文假名、俄文字母、汉语注音等)和数字、英文字母、日文假名、俄文字母、汉语注音等)和6763个汉字的代码。汉字代码中分为两级:个汉字的代码。汉字代码中分为两级:一级为较常用的一级为较常
27、用的汉字,共汉字,共3755个;二级为不太常用的汉字,共个;二级为不太常用的汉字,共3008个个。由于一个字节只能表示由于一个字节只能表示256种编码,汉字的数量大(国标种编码,汉字的数量大(国标共共7445个),显然一个字节不可能表示汉字的国标码,因此,个),显然一个字节不可能表示汉字的国标码,因此,每个汉字每个汉字(包括非汉字图形字符)(包括非汉字图形字符)国标码采用国标码采用2个字节来表来表示示。例如,。例如,“中中”字的国标码为:字的国标码为:01010110 01010000B(5650H)“国国”字的国标码为:字的国标码为:00111001 01111010 B(397AH)(2)
28、汉字内码汉字内码 汉字内码又称汉字机内码,是指在计算机系统内部使用汉字内码又称汉字机内码,是指在计算机系统内部使用的汉字编码,供设备和汉字信息处理系统内部存储、处理、的汉字编码,供设备和汉字信息处理系统内部存储、处理、传输使用。目前,对应于国标码,传输使用。目前,对应于国标码,一个汉字的内码也用一个汉字的内码也用2个字节存储存储,为了区分汉字和英文字母,规定英文字母机内码,为了区分汉字和英文字母,规定英文字母机内码最高位为最高位为“0”,汉字机内码两个字节的最高位均置为,汉字机内码两个字节的最高位均置为“1”,以免产生歧义。例如,以免产生歧义。例如,“中中”字的机内码为:字的机内码为:1101
29、0110 11010000B “国国”字的机内码为:字的机内码为:10111001 11111010 B十六进制表示:汉字内码=汉字国标码+8080H例:“啊”的国标码为3021H对应内码=3021H+8080H=B0A1H(3)汉字输入码汉字输入码 为将汉字输入计算机而编制的代码称为汉字输入码,也为将汉字输入计算机而编制的代码称为汉字输入码,也叫外码。目前汉字主要是经标准键盘输入计算机的,所以汉叫外码。目前汉字主要是经标准键盘输入计算机的,所以汉字输入码都由键盘上的字符或数字组合而成。例如用全拼输字输入码都由键盘上的字符或数字组合而成。例如用全拼输入法输入入法输入“国国”字,就要键入代码字,
30、就要键入代码“guo”,再选字。,再选字。常见汉字输入码的编码方案可分为常见汉字输入码的编码方案可分为4种类型:种类型:音码:又称字音编码,是根据汉字的发音进行编码,如全拼、:又称字音编码,是根据汉字的发音进行编码,如全拼、双拼、微软拼音等。双拼、微软拼音等。形码:又称字形编码,是根据汉字的字形结构进行编码,如:又称字形编码,是根据汉字的字形结构进行编码,如五笔字型、郑码、表形码、太极码、三角码等。五笔字型、郑码、表形码、太极码、三角码等。音形码:又称字音字形编码或混合码,是指以拼音为主,辅:又称字音字形编码或混合码,是指以拼音为主,辅以字形、字义进行编码,如自然码、全息码等。以字形、字义进行
31、编码,如自然码、全息码等。数码:又称数字编码或顺序编码,是指用数字串表示汉字的:又称数字编码或顺序编码,是指用数字串表示汉字的编码,如区位码、电报码。编码,如区位码、电报码。(4)汉字字形码汉字字形码 经过计算机处理的汉字信息,如果要显示或打印出来阅经过计算机处理的汉字信息,如果要显示或打印出来阅读,则必须将汉字内码转换成人们可读的方块字。每个汉字的读,则必须将汉字内码转换成人们可读的方块字。每个汉字的字形信息是预先存放在计算机内的,常称汉字库。汉字内码与字形信息是预先存放在计算机内的,常称汉字库。汉字内码与汉字字形一一对应。描述汉字字形的方法有许多,常用的是汉字字形一一对应。描述汉字字形的方
32、法有许多,常用的是点阵汉字。例如:下图是。例如:下图是“上上”字的字的1616点阵字形。点阵字形。提问:一个3232点阵的字形码需要多少字节存储空间?(5)汉字地址码 汉字地址码是指汉字库(这里主要指整字形的点阵式字模汉字地址码是指汉字库(这里主要指整字形的点阵式字模库)中存储汉字字形信息的逻辑地址码。库)中存储汉字字形信息的逻辑地址码。(6)各种汉字代码之间的关系输入字典汉字输入系统内部处理显示打印汉字字库内存通信地址码输入码内码字形码字形码字形码内码国标码课后习题:请实现下列要求的进制转换:1、(672.14)8=()102、(19BF.8)16=()103、(197.624)10=()2 精确到小数点后6位4、(1192.9032)10=()16 精确到小数点后4位5、(10111100111101.1011)2=()166、“0”的ASCII码是48,”6”ASCII码的二进制表示是()7、下列四个十进制数中,能用8位二进制表示的是()A.257 B.201 C.313 D.296