资源预览内容
第1页 / 共182页
第2页 / 共182页
第3页 / 共182页
第4页 / 共182页
第5页 / 共182页
第6页 / 共182页
第7页 / 共182页
第8页 / 共182页
第9页 / 共182页
第10页 / 共182页
亲,该文档总共182页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机电路基础(第二版),何超 主 编 中国水利水电出版社,第9章 数字变量与逻辑函数,本章提要 上一章我们讨论了脉冲和脉冲电路,为本章的学习打下了基础。本章讨论数字电路的基本知识,从数制与编码入手,进而讨论基本逻辑函数和基本门电路。再讨论复杂逻辑函数及其简化,以及其门电路的实现。为后两章的学习作好准备。,电子电路中的信号可分为两类:模拟信号与数字信号 所谓模拟信号是在时间上和数值上连续变化的信号。可以用来模拟各种物理量的变化。如:如声音的高低、温度的大小、压力的强弱、变化的电压或电流等,对于模拟信号,它所讨论的是放大增益、频率特性及非线性失真等指标。 所谓数字信号是一种离散信号、它在时间上和幅值都是不连续的,只发生在一系列离散的时间上。可以用来反映物理量的两种差别较大的状态,如电路的通断、机械的动作与否、电位的突变、声音的有无。在电路中表现为信号电流的有无,或信号电平的高低,并用数字“0”和“1”示。 处理模拟信号的电路称为模拟电路,处理数字电路的信号称为数字电路。,.1 数制与编码,9.1.1 数制 数字信号用“0”和“1”表示,决定了数字电路用开关元件表现事物的两种状态。诸多的开关元件可以表现0和1按时间顺序组成的序列,这个序列在计算机内部,常采用二进制数。 1 数制的基本概念 表示数值大小的的各种计数方法称计数体制,简称数制。 用数字量表示物理量的大小时,仅用一位数码往往不够用,因此经常需要用进位计数的方法组成多位数码使用,数制规定了多位数码中每一位的构成方法以及从低位向高位的进位规则。,十进制数有10个数码0 9,逢十进一;八进制有8个数码0 7, 逢八进一;十六进制有16个数码,0、1、2、9、A、B、C、D、E、F,逢十六进一;其中,A就是十进制的10,B就是十进制的11,依次类推。而二进制数只用两个数码:0、1,并且逢二进一,即1+1=10(读作壹零)。 总之: r进制数有r个数码,从0 ( r1) ,且逢r进一 位权:每一个数码在不同的数位上代表的数值不同,在某一数位上1所代表的值称为该数位的权。,例如:十进制的“十”位上的“1”代表“10”,十进制的“十”位上的“3”代表“30”,所以,十进制的“十”位上的“1”的位权是“10”。,一般地,以自然数 0,1,2,(r-1) 为数码的有n位整数位和m位小数位r进制数可以表示为(9-1),在式(9-1)中,r 称为该进制数基数,a i称为该进制数中第i位上的数码,r i为其第i位的位权,ai r i表示该位的位值,如8*102表示十进数整数第三位上的位值是800。当i为负整数时,r i表示该进制小数位上的位权。 2不同进制数之间的转换 (1)任意进制数化为十进制数 式(9-1)给出了任意进制数化为十进制数的公式(即方法), 如(11011.101)2= (16+8+2+1+0.5+0.125)10 = (27.625)10 = (491.734375)10 =(169.8046875)10,(2)十进制化为其他进制 将十进制数化为其他进制数的方法可以归纳为一个口诀:整数部分:“除基取余,由低到高(即将某十进制数连续除以其进制的基数r,直到商为0为止,所得余数按余数顺序从低位到高位排列,即为所求取的其进制的整数部分)”;小数部分:“乘基取整,由高到低(即将该十进制的小数部分连续乘以其进制的基数r ,每次取积的整数部分,不断依序从高位到低位排列,直到满足精度要求为止,所得即为该十进制小数部分化为其进制的小数部分)”。 例9-1 将十进制数分别化为二、八、十六进制数(要求到小数后3位)。,分别化为二、八、十六进制数(要求到小数后3位)。,解 取的整数部分35和小数部分0.17分别依照口诀如下运算:,图中阶符表示阶码的正负,尾符表示尾数(也就是数本身)的正负号,阶符和尾符均用“0”表示“正”,“1”表示“负”。 例如 N = 1010可写为 N = 2100(0.1010)表示方式为010011010 例:N = 0.0001010可写为 N = 2-11(0.1010)表示方式为101111010 9.1.4 计算机中的编码 1十进制数的编码 计算机中采用二进制,但二进制书写冗长,阅读不便,所以在输入输出时人们仍习惯使用十进制。这就出现了十进制数与二进制数的相互转换的问题,即十进制数的编码问题。表9-1给出了几种常用的十进制数的编码。,2 4,(3)八、十六进制与二进制之间的特殊转化关系 八进制与二进制之间的转化可以简单的记为“一对三”,即一个八进制数只要将每一位分别写成其三位二进制形式就可得到该数的二进制形式。反之,一个二进制数只要从小数点开始,分别向前、向后每三位(不够添零)转成一位八进制数即得到其八进制形式。,例9-2 将八进制数327转成二进制形式 解 因 3011,2010,7111。故将八进制数327转成二进制数形式为: (327)8 =(011010111)2 例9-3 将二进制数11010001转化成八进制形式。 解 因11010001,而0011,0102,0113。故二进11010001转化成八进制数形式为: (11010001)2 =(321)8,十六进制与二进制之间的转化可简单的记为“一对四”,即一个十六进制数只要将每一位分别写成其四位二进制形式就可得到该数的二进制形式。反之,一个二进制数只要从从小数点开始,分别向前、向后每四位(不够添零)转成一位十六进制数即得到其十六进制形式。,例9-4 将十六进制数3A2F转成二进制形式 解 因 30011 ,A1010 ,20010 ,F1111 。故将十六进制数3A2F转为二进制数形式为: (3A2F)16=(0011101000101111)2 例9-5 将二进制数110011011转化成十六进制形式。 解 因有110011101,而1011B ,10019 ,00011 。故二进制数110011011转化成十六进制数形式为:(110011011)2=(19B)16 为了在书写形式上方便的标识出不同进制的数,一般约定:十六进制数末尾加一字母“H”;八进制加“Q”;二进制加“B”;十进制加“D”或无标志。 八进制和十六进制之间的转化可通过二进制进行。,9.1.2 编码与码制 在计算机中,一个数的二进制代码表示形式,叫做机器数,也就是一个数值数据的机内编码,机器数代表的数值称为真值。 例如:数N1和N2:N170D1001010B N2-70D-1001010B 表示成机器数为:N1:01001010 N2:11001010 其中正负号分别用“0”和“1”代换,使正负符号和数值都变成了数码,。这就出现了原码、反码和补码等编码。 这些编码都由两个部分组成,前面为正负符号位,正数用“0”表示,负数用“1”表示;接着就是数值位,正数的数值位保持不变,而负数的数值位随不同的编码会有所不同。 这些表示一个数的大小和正负符号的方法,称为码制,正数的原码,反码和补码都是一样的形式,其数值位总是保持原状。例如:,则其原码,反码或补码均为:在原数值1001010前面加“0”,即N 原码 = N 反码 = N 补码 = 01001010 对于负数,负符号位均置为“1”。但其原码,反码或补码的数值位,有很大的不同,详述如下:,负数的原码:将真数数值位不动,在最左边正负符号位上加 “1”。例如:的原码是: N 原码 = 11001010 负数的反码:将真数数值位按位求反,在最左边正负符号位上加“1”。例如:的反码是: N 反码 = 10110101 负数的补码:将真数数值位按位求反,再在末位加“1”,最左边正负符号位上加“1”。例如:N=-1001010的补码是: N 补码 =10110101+00000001=10110110,9.1.3 定点数与浮点数,计算机表示表示小数点的位置有两种方法:定点表示法与浮点表示法。 1定点表示法 所谓定点表示法,是指计算机中小数点位置是固定不变的。根据小数点位置的固定方法不同,又可分为定点整数及定点小数表示法。前者小数点固定在数的最低位之后,后者小数点固定在数的最高位之前。 计算机采用定点整数表示时,它只能表示整数。定点小数表示法只能表示纯小数。 2浮点表示法 所谓浮点表示法,指计算机中的小数点在数中的位置不是固定的,而是“浮动”的。采用浮点数是为了扩大数的表示范围。 浮点数的一般表示形式为阶码表示法 N=2j(S),注意:1)按上述编码方法,数值“0”的原码,反码或补码,比较特殊 +0原码 = +0 反码 = 0.0000 -0 原码 = -0 反码 = 0.0000 0补码 = +0 补码 = -0 补码 = 0.0000 2)反码的反码为原码;补码的补码也为原码。即: N 反码反码 = N 原码 N 补码补码 = N 原码 3)可以证明:两个补码形式的数(无论正负)相加,只要 按二进制运算规则运算,得到的结果就是其和的补码。即有:X+Y补=X补+Y但对原码和反码上式则不成立。 4)另外,对于补码还有 X补-Y补=X补+-Y补 补码的引入其意义在于可把加减法都统一到加法上来,从而使运算器中根本无须设计减法器,减化了运算器的结构。,浮点数由两部分组成: 第一部分是指数部分,表示小数点的浮点的位置; 第二部分是尾数部分,表示数的符号和有效数位。其中,S为数N的尾数,是一个二进制正小数,S前的“”称为尾符。j表示数N的阶码,是一个二进制正整数,j前的“”称为阶符;2为阶码的基数。 阶码反映了小数点的位置,当基数为2时,小数点每右移一位,阶码减少1,反之。阶码加1。 例如 N = +1010可写为 N = 2+100(+0.1010)或N = 2+101(+0.0101),表示方式如,图中阶符表示阶码的正负,尾符表示尾数(也就是数本身)的正负号,阶符和尾符均用“0”表示“正”,“1”表示“负”。 例如 N = 1010可写为 N = 2+100 (0.1010)表示方式为010011010,例:N = 0.0001010可写为 N = 2-11( 0.1010)表示方式为10111101 9.1.4 计算机中的编码 1十进制数的编码 计算机中采用二进制,但二进制书写冗长,阅读不便,所以在输入输出时人们仍习惯使用十进制。这就出现了十进制数与二进制数的相互转换的问题,即十进制数的编码问题。表9-1给出了几种常用的十进制数的编码。,表9-1 十制数码的二进制代码,下面分别介绍几种常用编码。,(1)8421BCD码 用二进制数对每一位十进制数字进行编码的方法来表示一个十进制数,这种数叫做BCD码。 BCD码不是被编码十进制数的等值二进制数, 例如 27的BCD码是00100111,它是2的代码0010和7的代码0111的组合。27等值的二进制数是11011。 BCD码有多种形式,最常用的是8421BCD码,它是用4位二进制数对十进制数的每一位进行编码,并按位序依次排列。例如:7的BCD码是0111,67的BCD码是01100111。 8421BCD码是有权码,每一组4位二进制数的各位权重从高位到低位依次是8、4、2、1(8=23、4=22、2=21、1=20)。如0110表示:0110=08+14+12+01=6。 利用8421BCD码很容易实现二-十进制代码的转换,采用8421码容易辨别奇偶,偶数的8421码尾数是0,奇数的8421码尾数是1。,必须指出的是:在8421BCD码中,不允许出现10101111这几个代码,因为在十进制中,没有数码同它
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号