您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 01数制与码制(数字电子技术)
◆1◆第1章数制与码制1.1概述电子信号可用于表示任何信息,如符号、文字、语音、图像等,从表现形式上可归为两类:模拟信号和数字信号。模拟信号的特点是时间和幅度上都连续变化(连续的含义是在某一取值范围内可以取无限多个数值)。交流放大电路的电信号就是模拟信号,如图1-1所示。我们把工作在模拟信号下的电子电路称为模拟电路。数字信号是时间和幅度上都不连续变化的离散的脉冲信号,例如图1-2所示。用数字信号对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。由于它具有逻辑运算和逻辑处理功能,所以又称为数字逻辑电路。图1-1图1-2数字电路通常是根据脉冲信号的有无来进行工作的,而与脉冲幅度无关,所以抗干扰能力强、准确度高。虽然数字信号的处理电路比较复杂,但因信号本身的波形十分简单,只有两种状态—有或无,在电路中具体表现为高电位和低电位(通常用1和0表示),所以用于数字电路的半导体管不是工作在放大状态而是工作在开关状态,要么饱和导通,要么截止,因此制作时工艺要求相对低,易于集成化。随着数字集成电路制作技术的发展,数字电路在通信、计算机、自动控制、航天等各个领域获得了广泛的应用。数字信号通常都是用数码表示的。数码不仅可以用来表示数量的大小,还可以用来表示事物或事物的不同状态。用数码表示数量大小时,需要用多位数码表示。通常把多位数码中每一位的构成方法及从低位到高位的进位规则称为数制。在用于表示不同事物时,这些数码已经不再具有表示数量大小的含义,它们只是不同事物的代号。比如,我们每个人的身份证号码,这些号码仅仅表示不同对象,没有数量大小的含义。为了便于记忆和查找,在编制代码时总要遵循一定的规则,这些规则就称为码制。考虑到信息交换的需要,通常会制定一些大家共同使用的通用代码。例如:目前国际上通用的美国信息交换标准代码(ASCII码,见本章第1.5节)就属于这一种。1数字电子技术◆2◆1.2几种常用的数制任何一个数都可以用不同的进位体制来表示,但不同进位计数体制的运算方法和难易程度各不相同,这对数字系统的性能有很大影响。常用的进位计数制有十进制、二进制、八进制、十六进制。1.2.1十进制十进制数的特点:每一位有10个数码,即0~9;由低位向高位的进位原则是“逢十进一”。这里先说明两个概念,用来表示某种进位体制的数码的个数叫做基数。不同位置上数字代表的数值大小叫做权位,简称权。因此,十进制的基数为10,权为10i。例如125.37,从左至右,第一个为百位,该位置上的1代表100,权为102,把125.37按权的形式展开为125.37=21012110210510310710所以任何一个十进制数D均可展开为D=110niiimk(1-1)式中ki是第i位的系数,它可以是0~9这10个数码中的任何一个。若整数部分的位数是n,小数部分的位数是m,则i是包含从n−1~0的所有正整数和从−1~−m的所有负整数。若以N取代式中的10,即可得到任意进制(N进制)数按十进制展开式的普遍形式:D=1niiimkN(1-2)式中i的取值与式(1-1)的规定相同。N是计数的基数,ki是第i位的系数,Ni称为第i位的权。1.2.2二进制二进制数的特点:每一位有0和1有2个数码;由低位向高位的进位原则是“逢二进一”。所以二进制数各位的权是基2的幂。任意一个二进制数按权展开式为D=12niiimk(1-3)并计算出它所表示的十进制数的大小。例如(110.01)2=122+112+002+012+122=(6.75)10上式中分别使用下脚标2和10表示括号里的数是二进制数和十进制数。有时也用B(Binary)和D(Decimal)代替2和10这两个脚注。采用二进制计数制,对计算机等数字系统来说,运算、存储和传输极为方便可靠,然而二进制数书写起来很不方便。为此人们经常第1章数制与码制◆3◆采用八进制数和十六进制计数制来进行书写或打印。1.2.3八进制八进制数的特点:每一位有8数码,即0~7;由低位向高位的进位原则是“逢八进一”。所以八进制数各位的权是基8的幂。任意一个二进制数按权展开式D=18niiimk。并计算出它所表示的十进制数的大小。例如823.8=218+308+818=1036上式中使用下脚标8表示括号里的数是八进制数。有时也用O(Octal)表示八进制数。1.2.4十六进制十六进制的特点:每一位有16数码,即它由0~9,A~F组成,与10进制的对应关系是:0~9对应0~9,A~F对应10~15;由低位向高位的进位原则是“逢十六进一”。所以十六进制数各位的权是基16的幂。任意一个十六进制数按权展开式为D=116niiimk(1-4)并计算出它所表示的十进制数的大小。例如161.8B=1116+11016+8116=1027.5上式中使用下脚标16表示括号里的数是十六进制数。几种常用数制之间的变换关系见表1-1。表1-1几种常用数制之间的变换关系十进制数二进制数八进制数十六进制数012345678910111213141500000001001000110100010101100111100010011010101111001101111011110123456710111213141516170123456789ABCDEF1数字电子技术◆4◆1.3不同进制间的转换1.3.1二进制数转换十进制数把二进制数转换为等值的十进制数,通常采用“加权法”,即把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。例如21012101.011202120212=105.251.3.2十进制数转换二进制数十进制数转换成等值的二进制数,需要将十进制数的整数部分和小数部分分别进行转换,因二者的转换方法是不相同的。1.整数部分的转换假定十进制整数为10D等值的二进制数为10...nnkkk,则有`110110102222nnnnDkkkk=12110222nnnnkkkk上式表明,若将10D除以2得到的商为121122nnnnkkk,而余数即0k,因此不难看出,若将10D除以2得到的商再除以2,则所得余数即1k。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止。然后把所有余数按逆序排列,也就是把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来,这就是所谓“除2取余,逆序排列”。例如,将十进制数98转化为二进制数,可如下进行余数2980低位249122402120260231211高位0故1029811000102.小数部分的转换假定十进制小数为10D,等值的二进制数为0.10...nnkkk,则有121210222mmDkkk将上式两边同乘以2得到第1章数制与码制◆5◆102D=1k+12123222mmkkk上式说明,将小数10D乘以2所得乘积的整数部分即1k。同理,将乘积的小数部分再乘以2又可得到212123222mmkkk=2k+12234222mmkkk依此类推,将每次乘2后得到乘积的小数部分再乘以2,便可求出二进制小数的每一位了。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为0,或者达到所要求的精度为止。然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。总结来说,十进制小数转换成二进制小数采用“乘2取整,顺序排列”法。例如,将100.625转化为二进制小数时可如下进行0.6252=1.25……….整数部分=10.252=0.5……….整数部分=00.5=1.0……….整数部分=1故100.625=20.1011.3.3八进制、十六进制与二进制相互转换由于八进制数的基数8=23,而十六进制的基数16=24,所以3位二进制数恰好等于1位八进制数,4位二进制数恰好等于1位十六进制数,因此,二进制转换成等值的八进制(或十六进制)的规则是:从二进制的小数点处开始,向左右两边按每3位(或4位)二进制数化为一组,不是3位(或4位)的,整数部分可在最高位的左边添0,小数部分可在最低位的右边添0,每组用1位等值的八进制(或十六进制)数代替,即可得到相应的八进制(或十六进制)数。举例说明如下:将二进制数110100011.101000011转换成等值的八进制和十六进制数。(10100011.1010001)2=(010/100/011.101/000/100)2=(243.504)8(10100011.1010001)2=(1010/0011.1010/0010)2=(A3.A2)6八进制(或十六进制)数转换成等值的二进制数时,只要按照上述规则进行逆变换即可。例如,(1C9.2F)16(000111001001.00101111)2在将十六进制数转换为十进制数时,可将各位按权展开后相加求和得。在将十进制转换为十六进制时,可以先转换为二进制数,然后再将得到的二进制数转换为等值的十六进制数。1.4二进制算数运算1.4.1二进制算术运算的特点二进制数的加、减、乘、除四则运算,在数字系统中是经常遇到的,它们的运算规则与十进制数很相似。加法运算是最基本的一种运算,在计算机中,引入补码表示后,加上一些控制逻辑,利用加法就可以实现二进制的减法、乘法和除法运算。高位地位1数字电子技术◆6◆1.二进制的加法运算二进制加法运算法则:0+0=0;0+1=1+0=1;1+1=10(逢2进1)。【例1-1】求(1011011)2+(1010.11)21011011+1010.111100101.11则(1011011)2+(1010.11)2=(1100101.11)22.二进制数的减法运算二进制减法运算法则为:0−0=1−1=0;0−1=1(借1当2);1−0=1。【例1-2】求(1010110)2−(1101.11)210101101101.111001000.01-则(1010110)2−(1101.11)2=(1001000.01)23.二进制数的乘法运算二进制乘法运算法则为:00=0;01=10=0;11=1。【例1-3】求(1011.01)2(101)21011.01×101101101000000+10110111100001则(1011.01)2(101)2=(111000.01)2可见,二进制乘法运算可归结为“加法与移位”。4.二进制数的除法运算二进制除法运算法则为:0÷0=0;0÷1=0;1÷1=1。求(100100.01)2÷(101)2=?111.01101100100.0110110001011101011011010则(100100.01)2÷(101)2=(111.01)2第1章数制与码制◆7◆可见,二进制除法运算可归结为“减法与移位”。1.4.2原码、反码、补码和补码运算1.原码正数的符号位为0,负数的符号位为1,其他位按照一般的方法数的绝对值来表示就构成了原码。【例1-4】求当机器字长为8位二进制数的原码。X=+1011011Y=−1011011解:[X]原码=01011011[Y]原码=110110112.反码二进制数N的反码INVN是这样定义的21nINVNNNNN当为正数=当为负数(1-5)具体来说,对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除
本文标题:01数制与码制(数字电子技术)
链接地址:https://www.777doc.com/doc-3954770 .html