问题：20的二进制

就是20的二进制取反加1（不足四位补零凑四位，超过四位不足八位，凑零补八位）所以20的二进制是00010100取反就是         11101011加1后是           11101100                这就是-20的二进制！！！！亲给个好评吧！20的二进制是00010100-20是它的补码+1，就是11101011+1即11101100

先看首位是0的正整数，补齐位数以后，将二进制中的位数分别将下边对应的值相乘，然后相加得到的就为十进制，比如1010转换为十进制，方法如图7所示。85、若二进制补足位数后首位为1时，就需要先取反再换算：例如，11101011，首位为1，那么就先取反吧：-00010100，然后算一下10100对应的十进制为20，所以对应的十进制为-20，方法如图8所示。96、将有小数的二进制转换为十进制时：例如0.1101转换为十进制的方法：将二进制中的四位数分别于下边（如图9所示）对应的值相乘后相加得到的值即为换算后的十进制。

第20章 门电路和组合逻辑电路  目 录 20.1 数制和码制  20.2 基本门电路及其组合 20.3 TTL门电路 20.4 CMOS门电路 20.5 逻辑代数  目 录 20.6 组合逻辑电路的分析和设计 20.7 加法器 20.8 编码器 20.9 译码器和数字显示  20.10 应用举例  几种常用的数制 数制：就是数的表示方法，把多位数码中每一位的构成 方法以及按从低位到高位的进位规则进行计数称为进位 计数制，简称数制。  最常用的是十进制，除此之外在数字电路和计算 机中常用的是二进制、八进制和十六进制。 一、 十进制 进位规则是“逢十进一”。 例如：  (249.56)10＝2×102＋ 4×101＋ 9×100 + 5×10–1＋ 6×10－2  2017/8/15  4  任意一个n位整数、m位小数的十进制可表示为 ( D)10 ? kn?1kn?2 ? k0 k?1 ? k?m ? kn?1 ?10 n ?1 i k ? 10 ?i n ?1  ? ? ? ko ?10 ? k?1 ?10 ? ? ? k?m ?10 0  ?1  ?m  ?  i ?? m  其中： ki－称为数制的系数，表示第i位的系数，十进制ki 的取值为0 ~ 9十个数， i 取值从 （n－1）～0的所 有正整数到－1～－m的所有负整数 10 i－表示第i位的权值，10为基数，即采用数码的 个数 n、m－为正整数， n为整数部分的位数， m为小 数部分的位数 2017/8/15 5  2＋ 4×101＋ 9×100 (249.56) ＝ 2 × 10 10 例如： + 5×10–1＋ 2×10－2 其中n＝3，m＝2  若用N表示任意进制（称为N进制）的基数，则展成十 进制数的通式为 ( D ) N ? k n ?1k n ? 2 ? k 0 k ?1 ? k ? m ? k n ?1 ? N n ?1 ? ? ? k o ? N 0 ? k ?1 ? N ?1 ? ? ? k ? m ? N ? m ? i??m  ?  n ?1  ki ? N i  如N＝10为十进制，N＝2为二进制，N＝8为八进制， N＝16为十六进制。其中N为基数， ki 为第 i 位的系数， Ni 表示第i位的权值 2017/8/15 6  十进制数人们最熟悉，但机器实现起来困难。 因为构成计数电路的基本思路是把电路的状态与数 码对应起来，而十进制的十个数码，必须由十个不  同的而且能严格区分的电路状态与之对应，这样将 在技术上带来许多困难，而且也不经济，因此在计  数电路中一般不直接采用十进制。  2017/8/15  7  二、二进制： 进位规则是“逢二进一” ( D ) N ? k n ?1k n ? 2 ? k 0 k ?1 ? k ? m ? k n ?1 ? N n ?1 ? ? ? k o ? N 0 ? k ?1 ? N ?1 ? ? ? k ? m ? N ? m ? i??m  ?  n ?1  ki ? N i  如（11011.101)2=1×24 +1×23 +0×22 +1×21 +1×20 +1×2－1+0×2-2 +1×2－3 =（27.625)10  2017/8/15  8  一个数码的进制表示，可用下标，如 (N)2 表示二 进制； (N)10 表示十进制； (N)8 表示八进制， (N)16 表 示十六进制 有时也用字母做下标，如 (N)B 表示二进制，B－ Binary；(N)D 表示十进制，D－Decimal；(N)O 表示八 进制，O－Octal；(N)H 表示十六进制，H－ Hexadecimal； 三、八进制 进位规则是“逢八进一”，其基数为8。 如（13.74)8=1×81+3×80 +7×8－1+4×8-2 =（11.9375)10 2017/8/15 9  四、十六进制 进位规则是“逢十六进一”，其基数为16。  ki－取值有16个数码：0～9、A（10）、 B （11）、 C（12）、 D（13）、 E（14）、 F（15） 如（F9.1A)16=15×161+9×160 +1×16－1+10×16-2  = （249.1015625)10 ( D ) N ? k n ?1k n ? 2 ? k 0 k ?1 ? k ? m ? k n ?1 ? N n ?1 ? ? ? k o ? N 0 ? k ?1 ? N ?1 ? ? ? k ? m ? N ? m ? 2017/8/15  i??m 10  ?  n ?1  ki ? N i  表1.2.1为0～15个数码的不同进制表示。 表1.2.1 D 0 1 2 3 4 5 6 7 2017/8/15  B 0000 0001 0010 0011 0100 0101 0110 0111  O 00 01 02 03 04 05 06 07  H 0 1 2 3 4 5 6 7  D 8 9 10 11 12 13 14 15  B 1000 1001 1010 1011 1100 1101 1110 1111  O 10 11 12 13 14 15 16 17  H 8 9 A B C D E F 11  1.3  不同数制间的转换  数制转换：不同进制的数码之间的转换叫做数制转换 一、 二进制数、八进制数和十六进制数转换成十进制数 即将二进制数、八进制数和十六进制数转换成十 进制数，方法是将二进制数、八进制数和十六进制数 按下列公式进行展开即可. ( D ) N ? k n ?1k n ? 2 ? k 0 k ?1 ? k ? m ? k n ?1 ? N n ?1 ? ? ? k o ? N 0 ? k ?1 ? N ?1 ? ? ? k ? m ? N ? m ? i??m  ?  n ?1  ki ? N i  例如： (2 AF . C E) H ? 2 ? 162 ? 10 ?161 ? 15? 160 ? 12 ? 16?1 ? 14 ? 16?2 ? 512? 160? 15 ? 0.75 ? 0.0546875? (688.81) D 2017/8/15 12  二、十进制数转换成二进制数： 即将十进制数转换成二进制数，原则是“整数除2， 小数乘2”。 a. 十进制的整数转换： 将十进制的整数部分用基数2去除，保留余数，再 用商除2，依次下去，直到商为0为止，其余数即为对 应的二进制数的整数部分。  2017/8/15  13  b. 十进制的小数转换 将小数用基数2去乘，保留积的整数，再用积的小数 继续乘2，依次下去，直到乘积的小数部分是0为或达到 要求的精度，其积的整数部分即为对应的二进制数的小 数部分。 例1.3.1 将（173.39)D转化成二进制数,要求精度为1%。  解：其过程如下 a. 整数部分  即(173)D=(10101101) B  2 2 2 2 2 2 2 2  2017/8/15  173 86 43 21 10 5 2 1 0  ?? 1 (k ) ?? 0 (k ) ?? 1 (k ) ?? 1 (k ) ?? 0 (k ) ?? 1(k ) ?? 0 (k ) ?? 1(k ) 0  1  2  3  4  5 6  7  14  b. 小数部分 取m＝7 满足要求，过程如下 即(0.39)D=(0.0110001) B 故（173.39)D  =(10101101.0110001)B  0.39×2=0.78 ??0 ( k?1 ) 0.78×2=1.56 ?? 1 ( k?2 ) 0.56×2=1.12 ?? 1 ( k?3 ) 0.12×2=0.24 ?? 0 ( k?4 ) 0.24×2=0.48 ??0 ( k?5 ) 0.48×2=0.96 ?? 0 ( k?6 ) 0.96×2=1.92 ?? 1 ( k?7 ) 15  2017/8/15  依此类推，对于十进制转换成其它进制，只要把基数2 换成其它进制的基数即可。 三、 二进制转换成八进制和十六进制 方法：由于3位二进制数可以有8个状态，000~111，正好是8进制，而4位二进制数 可以有16个状态，0000～1111，正好是16进制，  故可以把二进制 数进行分组。八进制:三位分为一组，不够 补零；十六进制:四位分为一组，不够补零。 注：若将八进制或十六进制转换成二进制， 即按三位或四位转成二进制数展开即可。 2017/8/15 16  例1.3.2 将（1011110.1011001) 2转换成八进制和十六进制。 解： （1011110.1011001) B＝（001 011 110.101 100 100) 2 ＝ (136.544) O  （1011110.1011001) B＝(0101 1110.1011 0010) 2 ＝ (5E.B2)H 例1.3.3 将（703.65)O 和（9F12.04A)H 转换成二进制数。 解：（703.65) ＝（111000011.110101) O B （9F12.04A)H=(1001111100010010.00000100101)B 2017/8/15 17  ?提醒：若要将十进制转换成八进制或十 六进制，可先转换成二进制，再分组，转 换成八进制或十六进制。 例1.3.4 将(87)D 转换成八进制数和十六进制数 解：先将87转化成二进制，过程如图,则 (87)D＝（1010111)B=（001 010 111)B ＝(0101 0111)B= (127) O 2 2 2 2 2 2 2 87 43 21 10 5 2 1 0  =(57)H  ?? 1 (k ) ?? 1 (k ) ?? 1 (k ) ?? 0 (k ) ?? 1 (k ) ?? 0 (k ) ?? 1 (k ) 0  1  2  3  4  5  6  2017/8/15  18  1.4 二进制的算术运算 1.4.1. 二进制算术运算的特点 当两个二进制数码表示两个数量的大小，并且这两个数进行数值运算，这种运算 称为算术运算。其规则是“逢二进一”、“借一当二”。算术运算包括“加减乘除”， 但减、乘、除最终都可以化为带符号的加法运算。  如两个数1001和0101的算术运算如下 1001 + 0101 1110  1001 - 0101 0100 2017/8/15  1001 × 0101 1001 0000 1001 0000 0101101  1. 11? 0101 1001 0101 1000 0101 0110 0101 0010 19  1.4.2 反码、补码和补码运算  一、原码： 在用二进制数码表示一个数值时，其正负是怎么区 别的呢？二进制数的正负数值的表述是在二进制数码前 加一位符号位，用“0”表示正数，用“1”表示负数， 这种带符号位的二进制数码称为原码。 例如：＋17的原码为010001，－17的原码为110001 二、反码 反码是为了在求补码时不做减法运算。二进制的反码 求法是：正数的反码与原码相同，负数的原码除  了符号位外的数值部分按位取反，即“1”改为 “0”，“0”改为“1”。 2017/8/15 20  例如＋7和－7的原码和反码为： ＋7的原码为0 111，反码为0 111 －7的原码为1 111，反码为1 000 注：0的反码有两种表示，＋0的反码为0 000，－0的 反码为1 111  三、补码： 当做二进制减法时，可利用补码将减法运算转换成 加法运算。在讲补码之前先介绍模（或模数）的概念 1.模（模数）的概念： 把一个事物的循环周期的长度，叫做这个事件的 模或模数。 2017/8/15 21  钟表是以12为一循环计数的，故模数为12。 以表为例来介绍补码运算的原理：对于图1.4.1所示的 钟表 当在5点时发现表停在10 点，若想拨回有两种方法： 11 10 9 10 -5  12 10 +7  1 2 2=  a.逆时针拨5个格，即 10－5＝5，这是做减法。 b.顺时针拨七个格，即 10＋7＝17，由于模是12， 故相当于进位12，也是17 －12＝5，这是做加法。 2017/8/15  -1  3 4  5  8  =5  7  6  5  图1.4.1 补码的原理 22  由此可见10＋7和10－5 的效果是一样的，而5＋7＝ 12，将故7称为－5的补数， 即补码，也可以说减法可以 由补码的加法来代替 2.补码的表示  11 10 9 10 -5 =5  12 10 +7  1 2 2= 5  -1  3 4  8  正数的补码和原码相同， 负数的补码是符号位为 “1”，数值位按位取反加 “1”，即“反码加1” 例如： 2017/8/15  7  6  5  图1.4.1 补码的原理  [+7] [-7]  原码 0 111 1 111  反码 0 111 1 000  补码 0 111 1 001 23  例1.4.1 用二进制补码计算 ：75＋28 、75－28 、 －75＋28、 － 75－28 解：先求两个数的二进制原码和补码（用8位代码） （＋75）D＝（01001011）B 原码 （＋28）D＝（00011100）B （－75）D＝（11001011）B （－28）D＝（10011100）B （－75）D＝（10110101） B ; （－28）D＝（11100100） B ; 75 ＋28 103 2017/8/15  补码  0 1001011 ＋ 0 0011100 0 1100111 24  75 －28 47 －7 5 ＋28 －47 －7 5 －28 －10 3 2017/8/15  0 1001011 ＋ 1 1100100 1 0 0101111 溢出 1 0110101  ＋ 0 0011100 1 1010001 1 0110101 ＋ 1 1100100 溢出 补码  1 1 0011001  注意：P.12 25