1、数字逻辑第第 1章章 数字逻辑基础数字逻辑基础n 本章是学习数字逻辑电路的基础,主要介绍数字逻辑电路中常用的几种数制的表示方法及其转换规律,数字系统中常见的几种编码及逻辑代数的基本理论和基础知识。 1数字逻辑1.1 数制数制n 1.1.1 十进制数十进制数 (Decimal)n 日常生活中人们都习惯于使用十进制数。它由日常生活中人们都习惯于使用十进制数。它由 09共共 10个数码组成,十进制数的计数规则是,逢个数码组成,十进制数的计数规则是,逢 10进进 1。进位计。进位计数制是以表示计数符号的个数来命名的。我们把计数符数制是以表示计数符号的个数来命名的。我们把计数符号的个数称为基数,用符号号
2、的个数称为基数,用符号 R来表示。十进制数的基数就来表示。十进制数的基数就是是 R=10。n 同一计数符号处在不同数位,代表的数值不同。例如十同一计数符号处在不同数位,代表的数值不同。例如十进制数进制数 752,百位上的,百位上的 7表示表示 700,十位上的,十位上的 5表示表示 50。我。我们把各个数位的位值,称为进位计数制各位的权,它等们把各个数位的位值,称为进位计数制各位的权,它等于(基数)于(基数) i , i代表符号所在位。十进制数的基数为代表符号所在位。十进制数的基数为 10,第,第 i位上的权值为位上的权值为 10i,所以十进制数的按位展开式为:,所以十进制数的按位展开式为:2
3、数字逻辑1.1 数制数制式中 Di取值范围为 0 Di(R-1)。 n为整数部分的位数, m为小数部分的位数。整数第 i位的权是 Ri-1 ,小数点后第 m位的权是 R-m。此式表示的就是各符号与其所在位权值乘积的代数和十进制数可用后缀 D(Decimal)标识。3数字逻辑1.1 数制数制n 1.1.2 二进制数二进制数 (Decimal)n 在数字系统中,使用的是二进制。二进制由在数字系统中,使用的是二进制。二进制由 0和和 1两个数码组成,计数规则是,逢两个数码组成,计数规则是,逢 2进进 1。n 二进制数的基数为二进制数的基数为 2,各位的权值为,各位的权值为 2i。二进制。二进制数的按
4、位展开式为:数的按位展开式为:4数字逻辑1.1 数制数制n 二进制数可用后缀 B(Binary)标识。n 计算机和各种数字系统中采用二进制的原因主要有以下几点: n 二进制只有 0和 1两种状态,显然制造具有两种状态的电子器件要比制造具有 10种特定状态的器件容易得多,并且由于状态简单,其工作更可靠,传输也不容易出错。n 0、 1数码与逻辑代数变量值 0与 1相符,利用二进制方便进行逻辑运算。n 二进制数和十进制数之间转换比较容易。5数字逻辑1.1 数制数制n 1.1.3 八进制数和十六进制数八进制数和十六进制数 n 用二进制数表示一个较大的数时,比较冗长而又难以记忆,为了阅读和书写的方便,通
5、常采用八进制或十六进制。n 1. 八进制数n 八进制数由 0、 1、 2、 3、 4、 5、 6、 7八个数码组成,其计数规则是逢八进一。基数为 8,各位的权值为 8i 。任意一个八进制数可表示为:6数字逻辑1.1 数制数制n 2. 十六进制数十六进制数 n 十六进制数由十六进制数由 0、 1、 2、 3、 4、 5、 6、 7、 8、 9、 A、 B、 C、 D、 E、 F十六个数码组成。十六个数码组成。n 其中其中 A F的等值十进制数分别为的等值十进制数分别为 10、 11、 12、13、 14、 15。n 十六进制数进位规则是逢十六进一。其基数为十六进制数进位规则是逢十六进一。其基数为
6、 16,各位的权值为,各位的权值为 16i。任意一个十六进制数可表。任意一个十六进制数可表示为:示为:7数字逻辑1.1 数制数制1.1.4 各种数制之间的转换各种数制之间的转换1. 非十进制数转换成十进制数按相应的权表达式展开,再按十进制运算规则求和 按权展开相加。【 例 1-1】 将二进制数 1011.11B转换成十进制数。(1011.11)2=123+022+121+120+12-1+12-2=8+0+2+1+0.5+0.25=(11.75)108数字逻辑1.1 数制数制n 【 例 1-2】 将十六进制数 AF7. 4H转换成十进制数。n (AF7. 4)16= A162+ F161+71
7、60+416-1n =10256+1516+71+4/16n =(2807.25)109数字逻辑1.1 数制数制2. 十进制数转换成非十进制数十进制数转换为非十进制数分为两个部分进行,整数部分和小数部分,分开转换后再以小数点为结合点组合起来。整数部分:除基数取余,直至商为 0 ,余数按先后顺序从低位到高位排列 除基数倒取余;小数部分:乘基取整,直至达到所要求的精度或小数部分为 0 ,整数按先后顺利从高位到低位排列 乘基数顺取整。10数字逻辑1.1 数制数制n 例例 1-3】 将十进制数将十进制数 25.8125转换为二进制数。转换为二进制数。n 解解 : 使用短除法,计算过程与结果如下:使用短
8、除法,计算过程与结果如下: 因此,转换结果为:(25.8125)10=(a4 a3 a2 a1 a0 。 a-1 a-2 a-3 a -4)2=(11001.1101)211数字逻辑1.1 数制数制n 【 例 1-4】 将十进制数 301.6875转换为十六进制数。12数字逻辑1.1 数制数制n 3. 二进制数与十六进制、八进制数互换n 由于十六进制数的基数 16是二进制数的基数 2的 4次幂,即 24=16, 1位十六进制数相当于 4位二进制数。因此,十六进制数转换成二进制数时,只要将十六进制数的每一位改写成等值的 4位二进制数,即 “1位变 4位 ”。13数字逻辑1.1 数制数制n 【 例
9、 1-5】 把 (A3D.8B)16转换为二进制数。n 解 : 可用 “1位变 4位 ”的方法:n A 3 D . 8 Bn n 1010 0011 1101 . 1000 1011 n (A3D.8B)16=(101000111101.10001011)214数字逻辑1.1 数制数制n 二进制数转换为十六进制数时,以小数点为分界线,整数部分从右向左每 4位一组,小数部分从左向右每 4位一组,不足 4位用 0补足,每组改成等值的 1位十六进制数即可,即 “4位变 1位 ”。15数字逻辑1.1 数制数制【 例例 1-6】 把把 (1011010101.111101)2转换为十六转换为十六进制数。
10、进制数。解:解: 可用可用 “4位变位变 1位位 ”的方法:的方法:0010 1101 0101 . 1111 01002 D 5 . F 4 (1011010101.111101)2 =(2D5.F4)16在清楚了十六进制数与二进制数之间的转换方法在清楚了十六进制数与二进制数之间的转换方法之后,由于之后,由于 23=8, 1位八进制数相当于位八进制数相当于 3位二进制位二进制数,所以不难得出八进制数与二进制数之间相互数,所以不难得出八进制数与二进制数之间相互转换的方法。即转换的方法。即 “1位变位变 3位位 ”。 16数字逻辑1.1 数制数制n 【 例例 1-7】 把把 (345.27)8转
11、换为二进制数。转换为二进制数。n 解:解: 因为因为n 3 4 5 . 2 7n n 011 100 101 . 010 111n (345.27)8=(011100101.010111)2n 二进制数转换为八进制数时,也是以小数点为分二进制数转换为八进制数时,也是以小数点为分界线,整数部分从右向左界线,整数部分从右向左 3位一组,小数部分从左位一组,小数部分从左向右向右 3位一组,不足位一组,不足 3位用位用 0补足,每组改成等值补足,每组改成等值的的 1位八进制数即可,即位八进制数即可,即 “3位变位变 1位位 ”。17数字逻辑1.1 数制数制表 1-1给出了 4位二进制数与其它进制数表示
12、之间的对照关系。18数字逻辑1.1 数制数制n 1.1.5 原码、反码和补码原码、反码和补码n 1. 机器数与真值机器数与真值n 计算机中传输与加工处理的信息均为二进制数,计算机中传输与加工处理的信息均为二进制数,二进制数的逻辑二进制数的逻辑 1和逻辑和逻辑 0分别用于代表高电平和分别用于代表高电平和低电平,计算机只能识别低电平,计算机只能识别 1和和 0两个状态,那么计两个状态,那么计算机中如何确定与识别正二进制数和负二进制数算机中如何确定与识别正二进制数和负二进制数呢?呢?19数字逻辑1.1 数制数制n解决的办法是将二进制数最高位作为符号解决的办法是将二进制数最高位作为符号位,例如位,例如
13、 1表示负数,表示负数, 0表示正数,若计算表示正数,若计算机的字长取机的字长取 8位,位, 10001111B则可以代表则可以代表 -15, 00001111B则可以代表则可以代表 +15,这便构,这便构成了计算机所识别的数,因此,带符号的成了计算机所识别的数,因此,带符号的二进制数称之为机器数,机器数所代表的二进制数称之为机器数,机器数所代表的值称为真值。在计算机中,机器数有三种值称为真值。在计算机中,机器数有三种表示法,即原码、反码和补码。表示法,即原码、反码和补码。20数字逻辑1.1 数制数制n 2. 原码表示法原码表示法n 原码表示法也称为符号加绝对值法。将符号位原码表示法也称为符号
14、加绝对值法。将符号位 0或或1加到二进制数绝对值的左端,表示正二进制数或加到二进制数绝对值的左端,表示正二进制数或负二进制数,称为原码表示法。负二进制数,称为原码表示法。n 若定点整数的原码形式为若定点整数的原码形式为 X0X1X2 Xn,则原,则原码表示的定义是:码表示的定义是:n X 2n X0n X原原 =n 2n-X=2n +X 0X -2n 21数字逻辑1.1 数制数制n X0为符号位,若 n=7,即字长 8位,则:n X取值范围: -127 +127n +0原原 =00000000n -0原原 =10000000n 采用原码表示法简单易懂,但它最大缺点是加法运算电路复杂,不容易实现
15、。22数字逻辑1.1 数制数制n 3. 反码表示法反码表示法n 正二进制数的反码表示同其原码一样,负二进制正二进制数的反码表示同其原码一样,负二进制数的反码表示是符号位数的反码表示是符号位 l加数值位各位取反,这种加数值位各位取反,这种表示正、负二进制数的方法称为反码表示法。表示正、负二进制数的方法称为反码表示法。n 对于定点整数,反码表示的定义是:对于定点整数,反码表示的定义是:n X 2n X0n X反反 =n ( 2n+1-1) +X 0X -2n 23数字逻辑1.1 数制数制n 同样同样 n取取 7,即字长,即字长 8位,那么:位,那么:n X取值范围:取值范围: -127 +127n
16、 +0反反 = 00000000n -0反反 = 1111111124数字逻辑1.1 数制数制n 4. 补码表示法补码表示法n 正二进制数的补码同其原码表示,负二进制数的正二进制数的补码同其原码表示,负二进制数的补码表示是符号位补码表示是符号位 1加数值位各位取反末位加加数值位各位取反末位加 1,这种表示法称为补码表示法。这种表示法称为补码表示法。n 对于定点整数,补码表示的定义是:对于定点整数,补码表示的定义是:n X 2n X0n X补补 =n 2n+1 +X=2n+1 -X 0X-2n 25数字逻辑1.1 数制数制n 同样如果同样如果 n取取 7,即字长,即字长 8位,那么:位,那么:n
17、 X取值范围:取值范围: -128 +127n +0补补 =-0补补 =00000000n -10000000补补 =10000000n X补补 补补 =X,对已知的一个补码通过再一次求,对已知的一个补码通过再一次求其补,便可还原出真值其补,便可还原出真值 。26数字逻辑1.1 数制数制n 【 例 1-10】 若计算机字长 8位, X=126, Y=-126,分别求出 X和 Y的原码、反码及补码。n 解: X原 =X反 =X补 =01111110n Y原 =11111110n Y反 =10000001n Y补 =1000001027数字逻辑1.2 常用编码常用编码n 信息在计算机中的存储表现为
18、数据。在计算机中,任何数据都只能采用二进制数的各种组合方式来表示,所以需要对信息中全部用到的字符按照一定的规则进行二进制数的组合编码。编码是指用文字、符号、数码等表示某种信息的过程。数字系统中处理、存储、传输的都是二进制代码 0和1,因而对于来自于数字系统外部的输入信息,例如十进制数 0 9或字符 A Z, a z,汉子等,必须用二进制代码 0和 1表示。二进制编码是给每个外部信息按一定规律赋予二进制代码的过程。28数字逻辑1.2 常用编码常用编码n 1.2.1 二二 -十进制编码(十进制编码( BCD码)码)n 二 十进制码是一种用四位二进制码来表示一位十进制数的代码,简称为 BCD(Binary Coded Decimal Number)码。用四位二进制码来表示十进制数的 10个数码有很多种编码方法,常见的有8421BCD码、 2421BCD码、 4221BCD码、5421BCD码和余 3码等,表 1.2给出了十进制数与这几种编码之间的对应关系。29数字逻辑1.2 常用编码常用编码n 表 1-2 十进制数与各种 BCD编码对照表30