信导 第 2 章 信息技术的基础知识.ppt_第1页
信导 第 2 章 信息技术的基础知识.ppt_第2页
信导 第 2 章 信息技术的基础知识.ppt_第3页
信导 第 2 章 信息技术的基础知识.ppt_第4页
信导 第 2 章 信息技术的基础知识.ppt_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章信息技术的基础知识 内容提要 本章主要讲解计算机的数制 编码及逻辑代数与逻辑电路等基础知识 通过本章的学习 读者应该掌握数制及其相互转换方法 计算机中数的表示方法 计算机中的编码以及逻辑电路和逻辑代数的基础知识 内容提要 2 1计算机的运算基础2 2数字电路与逻辑代数基础 2 1计算机的运算基础 2 1 1进位计数制2 1 2计算机中数的表示2 1 3计算机中的编码 2 1 1进位计数制 进位计数制是利用符号来计数的方法 根据不同的进位原则 可以得到不同的进位制 在计算机中最常使用的是 十进制 二进制 八进制和十六进制 不同数制的常见书写方法有下标法 后缀法和前缀法3种 下标法直接将数制作为下标 如 120 10 98 16 72 8 1101 2 AF06 16后缀法在数值后面加字母D B O H分别表示该数是10 2 8 16进制数 如 120D98H72O1101B0AF06H前缀法则常用于十六进制数的表示 如 0 xAF060 xFF0000 1 几种常见进制数的表示方法 1 十进制 Decimal 记数法十进制记数法采用10个不同的数码0 1 2 9 基数是10 进位规则是 逢十进一 例2 1 用10的幂表示435 86上式左边称为位置记数法 右边称为多项式表示法或按权展开法 一般 对于任何一个十进制数N 都可以用位置记数法和多项式表示法写为式中 n代表整数位数 m代表小数位数 ki m i n 1 表示第i位数码 它可以是0 1 2 3 9中的任意一个 10i为第i位数码的权值 上述十进制数的表示方法也可以推广到任意进制数 对于一个基数为N N 2 的N进制计数制 可以写为式中 n代表整数位数 m代表小数位数 ki为第i位数码 它可以是0 1 N 1 个不同数码中的任何一个 Ni为第i位数码的权值 2 二进制 Binary 记数法 在计算机中 广泛采用的是只有 0 和 1 两个基本符号组成的二进制数 而不使用人们习惯的十进制数 原因如下 二进制数物理上最容易实现 在数字电路中利用一个具有两个稳定状态且能相互转换的开关器件就可以表示一位二进制数 且工作稳定可靠 二进制数用来表示的二进制数的编码 计数 加减运算规则简单 二进制数的两个符号 1 和 0 正好与逻辑命题的两个值 是 和 否 或称 真 和 假 相对应 为计算机实现逻辑运算和程序中的逻辑判断提供了便利的条件 二进制数的进位规则是 逢二进一 基数N 2 每位数码的取值只能是0或1 每位的权是2的幂 采用逢二进一的原则计数 任何一个二进制数 可表示为 例2 2 将二进制数 1011 011 2转换成十进制数 由于二进制数书写冗长 易错 难记 而且十进制数与二进制数之间的转换过程复杂 所以一般用十六进制数或八进制数作为二进制数的缩写 3 八进制 Octal 数 八进制数的进位规则是 逢八进一 其基数N 8 采用的数码是0 1 2 3 4 5 6 7 每位的权是8的幂 任何一个八进制数也可以表示为 例2 3 将八进制数 376 4 8转换成十进制数 4 十六进制 Hexadecimal 十六进制数进位规则是 逢十六进一 基数N 16 每位的权是16的幂 任何一个十六进制数 也可以表示为 例2 4 将十六进制数 3AB 11 16转换成十进制数 2 几种常见进制数之间的转换 同一个基数在不同位置上代表的值不同 但都可以表示为其本身值乘以权值的n次幂形式 如 123 75 1 102 2 101 3 100 7 10 1 5 10 2上面的这种表达式称作按权展开式 所有各种进制的数都可以用按权展开式来表示 使用按权展开法 可以把所有非十进制数转换为十进制数 由p进制转10进制可使用下面的公式 其中0 ki p i m n p叫做p进制数的基数 ki叫做该p进制数的第i位 pi叫做第i位的权 二进制按权展开的一个例子 1111011 11 2 1 26 1 25 1 24 1 23 0 22 1 21 1 20 1 2 1 1 2 2 64 32 16 8 0 0 2 1 0 5 0 25 123 75 10 1 任意进位制转换为十进制数 将不同进位制表示的数按权展开 再按十进位制把各项数值相加 就可以转换为十进位制数 例2 5 分别将二进制数 1101 01 2 八进制数 732 6 8和十六进制数 A5B 16转换成十进制数 1101 01 2 1 23 1 22 0 21 1 20 0 2 1 1 2 2 13 25 10 732 6 8 7 82 3 81 2 80 6 8 1 474 75 10 A5B 16 10 162 5 161 11 160 2651 10 2 十进位制数转换为任意J进位制数 将整数部分和小数部分分别转换 整数部分的转换 除2取余法 用J除后取余 逆序排列 第一个余数为最低位 小数部分的转换 乘2取整法 用J乘后取整 顺序排列 第一个整数为最高位 最后将两部分合在一起 例2 6 将 215 75 10转换为二进制数 215 75 10 11010111 11 2 例2 7 将 3952 10转换为16进制数 解 整数部分 3952 16 247 余数0247 16 15 余数715 16 0 余数15 F所以 3952 10 F70 16利用上述方法可以将十进制数转化为任意进制数 比如常用的八和十六进制 但是由于除以这些数比较麻烦 所以通常利用二进制做中间转换 因为二进制转换为八和十六进制比较容易 3 二进位制与八进位制数间的转换 因为23 8 即三位二进位制数恰好对应一位八进位制数 所以 要将二进位制数转换为八进位制数 可从二进位制数的小数点开始向两个方向以三位二进位制数字分组 不足以零补足 然后写出每一组等值的八进制数 例2 8 例2 8 求 01101111010 1011 2的等值八进制数 解 要将八进位制数转换为二进位制数 可将每位八进位制数写成对应的三位二进位数 4 二进位数与十六进数间的转换 因为24 16 即四位二进位制数恰好对应一位十六进位制数 所以 要将二进位制数转换为十六进位制数 从二进位制数的小数点开始向两个方向以四位二进位制数字分组 不足以零补足 用它的十六进制等值代替这样的组 例2 9 例2 9 将 01011110 10110010 2转换为十六进位制数 解 要将十六进制数转换为二进制数 可将每位十六进制数写成对应的四位二进制数 3 任意两种进位制之间的转换 对于一般的进位制 可先将已知进位制的数转换成十进位制的数 再由该十进位制的数转换成待求进位制的数 对于以2为基数进位制之间的转换 可参考八 十六进位制之间的转换方法 即先将已知进位制的数转换成二进位制的数 再由该二进位制的数转换成待求进位制的数 表2 1是这四种进位记数制对照表 图2 1进位制之间的相互转换 表2 1四种进位记数制对照表 2 1 2计算机中数的表示 计算机中的 位 是指二进制数的位 常用bit表示 计算机的CPU进行计算时 以字节为基本单位 用byte表示 一个字节由8个二进制位组成 可以表示0到11111111B 即255 用若干个字节组合起来可表示更大的数 如用2个字节表示的非负整数 范围是0到65535 而用4字节表示的不同整数最多可有4 294 967 295个 表示存储容量的单位还有KB 1KB 1024Byte MB 1MB 1024KB GB 1GB 1024MB TB 1TB 1024GB 1 二进制数的算术运算 二进制数的算术运算和十进制数的算术运算规则基本相同 唯一区别在于二进制数是 逢二进一 及 借一当二 而不是 逢十进一 及 借一当十 例如 计算机中的二进制运算实际上只有加法 因为做加法的电路比做减法的电路速度快很多 所以计算机对减法用加上某个数的负数来处理 减法运算转换成加法运算进行 乘法运算中被乘数左移和加法操作 转换成加法运算进行 除法运算中 除数右移一位 从被除数或余数中减去除数两种操作 实际上是转换成减法运算进行 2 原码 反码 补码和移码 二进制数在计算机内部是按一定的规则存储的 某个数在机器中的表示形式称为机器数 该机器数代表的实际数值称为该机器数的真值 换句话说 将数的符号用 表示的称为真值 而将数的符号用 0 1 表示称为机器数 一般规定 0 表示正数的符号 1 表示负数的符号 并放在数的最高位 例如 真值 1001的机器数是 N机 01001 真值 1011的机器数则是 N机 11011 使用原码进行加减运算时出现了问题 使用某个字节的最高位存放符号 0为正 1为负 的二进制机器数 称为该机器数的原码 假设机器能处理的位数为8bits 即字长为1byte 原码能表示数值的范围为 127 0 0 127 共256个 在直接使用带符号位的原码进行乘除运算时结果正确 而在加减运算时出现了问题 使用原码采用 以加代减 得到的结果如下 1 10 1 10 1 10 1 10 0 10 00000001 原 10000001 原 10000010 原 2 10显然不正确两个整数的加法运算应该是没有问题的 问题出现在带符号位的负数上 使用反码进行减法运算 为此 对除符号位外的其余各位逐位取反 产生了反码 反码的取值空间和原码相同 且一一对应 使用反码进行减法运算 1 10 1 10 1 10 1 10 0 10 00000001 反 11111110 反 11111111 反 0 10有问题 1 10 2 10 1 10 2 10 1 10 00000001 反 11111101 反 11111110 反 1 10正确新出现的问题在 0 和 0 上 在人们的计算概念中 零是没有正负之分的 为了解决正负零的问题 引入了补码概念 负数的补码就是对反码加1 而正数不变 正数的原码反码补码是一样的 在补码中用 128 代替了 0 所以补码的表示范围为 128 0 127共256个 注意 128 没有相对应的原码和反码 128 10000000 补码的加减运算如下 1 10 1 10 1 10 1 10 0 10 00000001 补 11111111 补 00000000 补 0 10正确 1 10 2 10 1 10 2 10 1 10 00000001 补 11111110 补 11111111 补 1 10正确补码是一个非常重要的概念 如果补码的概念没有弄清楚 就难于学好有关计算机课程 补码的设计目的 补码的设计目的是 简化运算规则 使减法运算转换为加法运算 进一步简化计算机中运算器的线路设计 为了统一正0和负0 使0的表示唯一 注意 如果 1之后有进位的 要一直往前进位 包括符号位 这和反码是不同的 10000000 补 10000000 反 1 11111111 1 1 00000000 00000000 最高位溢出了 符号位变成了0 所有这些转换都是在计算机的最底层进行的 在程序员使用的汇编 C等高级语言中使用的都是原码 表2 2数的编码规则 原码 反码 补码的编码规则见表2 2 由表中可以见到 所谓原码就是带正 负号的二进制机器数 正数的反码与其原码相同 负数的反码是对其原码逐位取反 但符号位除外 正数的补码与其原码相同 负数的补码是在其反码的末位加1 由此可见 这3种表示法中 关键是负数的表示方式不一样 例2 10 例2 10 十进制运算6 6 0 使用补码运算计算 解 计算超过8位产生溢出 字节中的有效数码全为0 计算值等于0 0 计算机如果用一个字节表示一个整数的时候 如果是无符号数 可以表示0 255共256个数 00000000 11111111 如果是有符号数则能表示 128 127共256个数 10000000 01111111 如果两个字节表示一个整数 则共有65536个数可以表示 大部分程序设计语言中整数的范围都是 32768 32767的原因 可以看出这种整数类型是16位的有符号数 而且是补码表示的 补码表示的好处在于去掉了负号 但因为补码表示中符号也成了一位二进制的数 人们很难从补码的形式上判断真值大小 如果无论正负 在真值上加一个常数2n 就可以直接通过二进制代码比较大小 因此 人们提出了移码的概念 移码的名字是这样来的 在数轴上 移码所表示的范围 恰好对应于真值在数轴上的范围向正方向移动2n个单元 移码的定义为 设由1位符号位和n位数值位组成的阶码 则 X 移 2n X 2n X 2n 移码的特点 最高位为符号位 0有唯一编码 它保持了数据原有的大小顺序 移码与补码的关系是符号位互为反码 例如 X 1011时 X 移 11011 X 补 01011 X 1011时 X 移 00101 X 补 10101 移码只用于浮点数的阶码部分 故只用于表示整数 3 数的定点表示法和浮点表示法 1 定点数表示法在机器中小数点位置固定的数称为定点数 一般采用定点小数表示法 即小数点固定在符号位与最高位之间 有时也采用定点整数表示法 此时将小数点固定在数的最低位的后面 定点数的运算规则较简单 但不适宜对数值范围变化比较大的数据进行运算 2 浮点数表示法把处理机处理的数据都化为定点整数或定点小数会给用户带来很多麻烦和限制 因为用户的初始数据 中间结果 或最后结果可能在很大的范围里变化 程序员不得不在运算的各个阶段预先引入比例因子 把数据统一放大或缩小 此外 一定长度的定点数据所能表示的数据范围和精度是很有限的 为此 计算机常采用小数点位置可以浮动的二进制浮点表示法 以扩大数的表示范围 10进制数的科学记数法如A 3 5 105 可表示为 3 5E5 最前面是负号 3 5是两位有效数字的尾数 mantissa 以10为基的指数 exponent 为5 形式如M 10E的数叫做10进制浮点数 在计算机中存储实数 带有小数的数 也叫浮点数 时 要先将实数化为二进制浮点数M 2E的形式 M和E都是2进制整数 若x M 2E 则M叫做x的尾数 或数值 E叫做x的阶码 或指数 例如 12 375 1100 011B 1100011 2 11B 按照这种记数法给一个数字确定其精度 有效位 后 就可以用一定长度的1和0的位串来表示一个实数了 浮点数一般采用以下四种基本格式 1 单精度格式 32位 除去符号位1位后 E占8位 M占23位 2 扩展单精度格式 E 11位 M31位 3 双精度格式 64位 E 11位 M 52位 4 扩展双精度格式 E 15位 M 63位 在IEEE754标准中 约定小数点左边隐含有一位 通常这位数就是1 这样实际上使尾数的有效位数为24位 指数的值称为阶码 为了表示指数的正负 所以阶码部分采用移码表示 移码值为127 阶码值即从1到254变为 126至 127 在IEEE754标准中所有的数字位都得到了使用 明确地表示了无穷大和0 并且还引进了 非规格化数 使得绝对值较小的数得到更准确表示 如表2 3所示 表2 3单精度格式的表示 其中 0 M 1 M 表示隐含位 注意当数字N为非规格化数或是0时 隐含位是0 2 1 3字符 字符集和编码 字符是各种文字和符号的总称 包括各国家文字 标点符号 图形符号 数字等 字符集是多个字符的集合 字符集种类较多 每个字符集包含的字符个数不同 常见字符集有 ASCII字符集 GB2312字符集 BIG5字符集 GB18030字符集 Unicode字符集等 计算机要准确的处理各种字符集文字 需要进行字符编码 在计算机内表示的数字 字母 符号等都要以二进制数码的组合来代表 以便计算机能够识别和存储各种文字 1 ASCII码 ASCII码 AmericanStandardCodeForInformationInterchange 即美国标准信息交换码 是基于罗马字母表的一套计算机编码系统 它主要用于显示现代英语和其他西欧语言 它是现今最通用的单字节编码系统 并等同于国际标准ISO646 也相当于我国国家标准GB1988 ASCII码规定了94个字符和34个控制符的代码 94个字符包括10个数字 26个大写英文字母 26个小写英文字母 标点符号及其它常用符号 分别对应33到126中的一个数值代码 其它的数值代码 如0到32 和127是控制符的代码 常用的有空格符 32 回车符 13 换行符 8 等 它们不能直接书写显示 字符的排序 可以根据代码之间的大小关系来定义相应的字符的 大小 关系 西文字母的大小都是根据ASCII码决定的 小写字母大于大写字母 字母大于数字 字符大于空格符 比空格符小的都是控制符 ASCII码采用七位二进制位编码 共可表示27 128个字符 因为在计算机中常以一个字节 即8位二进制为单位表示信息 其最高位 b7 用作奇偶校验位 所谓奇偶校验 是指在代码传送过程中用来检验是否出现错误的一种方法 奇校验规定 正确的代码一个字节中1的个数必须是奇数 若非奇数 则在最高位b7添1 偶校验规定 正确的代码一个字节中1的个数必须是偶数 若非偶数 则在最高位b7添1 接收方在得到一个字节后 通过判断1的奇偶就可以知道是否传输出错 当然 这种判断并不是严格的 如果传输时同时2个二进制位出错 判断就无效了 2 二 十进制编码 计算机中的BCD Binary CodedDecimal 码 亦称二进码十进数 它是一种二进制的数字编码形式 用二进制编码的十进制代码 这种编码形式将十进制中的每一位数字用对应的4位二进制数进行编码 可以很容易实现二进制与十进制的转换 与浮点式记数法相比 采用BCD码 既可保存数值的精确度 又可免去计算机作浮点运算时所耗费的时间 此外 对于需要高精度的计算 BCD编码亦很常用 一位十进制数字 用4位二进制编码来表示可以有多种方法 对应不同需求 人们开发了不同的编码方法 这些编码方法大致可以分成有权码和无权码两大类 最常用的是8421码 4位二进制数表示有24即16种状态 只取前10种状态来表示0 9 从左到右每位二进制数的权分别为8 4 2 1 因此叫8241码 BCD码有十个不同的码 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 且它是逢 十 进位的 所以是十进制数 但它的每位是用二进制编码来表示的 因此称为二进制编码的十进制 BinaryCodedDecimal 例如 0010100001011001 01110010 BCD代表的十进制数是2859 72 而十进制数985 6的BCD编码就是 100110000101 0110 BCD 根据在存储器中的不同存放格式 BCD码又可分为压缩型BCD码 一个字节中存放两个十进制数码 和非压缩型BCD码 每个字节只存放一个十进制数 3 汉字编码 汉字同西文字母一样 在计算机内也是用代码形式表示 1980年我国参照国际标准 在ASCII码基础上 扩大编码字符的数量 制定了中华人民共和国信息交换用汉字编码字符集的国家标准GB2312 80 GB2312 80按国际标准分成若干个区 每区有94个汉字 01区到09区为各种符号 16区到55区为一级字库 一级字库有3755个汉字 按汉语拼音顺序排列 占常用汉字的90 左右 56区到87区为二级字库 二级字库存放不太常用的3008个汉字 按部首和笔画排列 另外还收录了一些图形符号 共6763个汉字 88区到94区为空 汉字和图形符号合计7445个 图2 2部分区位码表 汉字所在的区号和位号称为汉字的区位码 用先区后位的双2位十进制数表示 不足两位前面补0 如 啊 的区位码是1601 每个汉字编码由2个字节组成 第一个字节指出所在区 第2个字节指出区中的位置 图2 2是部分区位码表 如 福 的区位码是2403 该 的区位码是2435 各 的区位码是2487 将区位码的区号和位号分别由十进制转换对应的十六进制后 2020H即为国标码 国标码两个字节的最高位为0 将十六进制国标码 8080H即为汉字内码 汉字内码是计算机内部惟一能满足汉字存储 显示 打印传输和处理等操作要求的汉字编码 汉字内码和区位码之间存在一一对应的关系 并且顺序也与区位码完全相同 例如 大 字的区位码为2083 国标码为3473H 1453H 2020H 机内码为B4F3H 3473H 8080H 图2 3是三种编码相互转换的示意图 图2 3三种编码的相互转换 GBK字符集是GB2312的扩展 K GBK1 0收录了21886个符号 它分为汉字区和图形符号区 汉字区包括21003个字符 GBK字符集主要扩展了繁体中文字的支持 我国政府于2000年3月17日发布了新的汉字编码国家标准GB18030 2000 信息交换用汉字编码字符集基本集的扩充 2001年8月31日后在中国市场上发布的软件必须符合本标准 汉字内码两个字节的最高位一定为1 可以很容易地和西文字符相区别 因为汉字内码每一字节总大于128 而ASCII码按字节存放时最高位为0 都小于128 所以在排序时 汉字总比西文字符大 汉字的排序取决于代码的大小 不同区的汉字根据区号判别大小 同一区的汉字根据位号来决定大小 所谓拼音输入法 五笔字型输入法也是一套对汉字的编码 这些编码仅仅是操作者向计算机表示汉字的手段 并不是汉字在计算机内部的表示形式 图2 4汉字信息的计算机处理过程 汉字信息的计算机处理过程是 将键盘的输入转换为机内码 通过文字处理软件 寻找字模库中的文字编码的点阵信息 然后输出到显示器或打印机 如图2 4所示 4 Unicode字符集和UTF规范 在中国推出GB2312这种用双字节表示单字符的编码方法以后 日本 韩国以及阿拉伯国家也纷纷效仿 制定了本国自己的字符集编码 由于每种语言都制定了自己的字符集 导致最后存在的各种字符集实在太多 在国际交流中要经常转换字符集非常不便 并且 各国制定的字符集有交叉 同一个位置在不同国家对应不同的符号 容易产生混乱 因此 产生了Unicode字符集 UnicodeCharSystem UCS Unicode是一种在计算机上使用的字符编码 它为每种语言中的每个字符设定了统一并且唯一的二进制编码 以满足跨语言 跨平台进行文本转换 处理的要求 它固定使用16bits 两个字节 来表示一个字符 每个符号都可以在这个集合中找到一个固定并且唯一的编号 该编码于1990年开始研发 1994年正式公布 最新版本是2005年3月31日的Unicode4 1 0 Unicode必须考虑和现有单字节系统或单字节程序之间的不兼容问题 即 以前的程序的处理方式没有办法正确处理新的编码数据 UTF UCSTransformationFormat 规范主要解决Unicode的兼容问题 它是将Unicode编码规则和计算机的实际编码对应起来的一个规则 规定了Unicode字符集编码的传输方法 在现有系统和Unicode数据之间搭起一座桥梁 现在流行的UTF有两种 UTF 8和UTF 16 其中UTF 16和上面提到的Unicode本身的编码规范是一致的 而UTF 8定义了一种 区间规则 这种规则可以和ASCII编码保持最大程度的兼容 简单地说 UNICODE解决了多语言环境的字符表示问题 而UTF 8解决了多语言环境下ASCII的兼容问题 5 BASE64编码 Base64内容传送编码用来把任意序列的8位字节描述为一种不易被人直接识别的形式 并且这种形式只能是ASCII码的序列 它主要用于Email的附件编码上 Email的附件是二进制文件 用这种编码就可以编码为ASCII的序列 从而能够通过网关传输 如果观察接收到的带有附件的电子邮件的源代码 会发现根本没有什么二进制文件 看到的只是一系列ASCII码的序列 它们就是BASE64编码的结果 内容提要 2 1计算机的运算基础2 2数字电路与逻辑代数基础 2 2数字电路与逻辑代数基础 2 2 1数字信号与数字电路2 2 2逻辑代数基础2 2 3常用的导出逻辑运算2 2 4逻辑代数的基本定律和规则2 2 5逻辑函数的化简 2 2数字电路与逻辑代数基础 计算机硬件实际上是数字系统的物理构成 数字系统是用数字逻辑设计的 其物理实现是用由成千上万的电子器件来完成的 电子器件用逻辑运算的方式 经由计算机内部0与1的变化 控制着电路中电流的流向 2 2 1数字信号与数字电路 对模拟信号进行传输 处理的电子线路称为模拟电路 对数字信号进行传输 控制或进行数字信号变换的电子电路称为数字电路 1 数字信号 数字信号是一个离散量 具体地说 数字信号的电压或电流在时间和数值上都是离散的 不连续的 这种不能连续变化的显示信号称为数字信号 数字信号的幅值变化只有两种 一是为零 或小 二是有 或大 数字信号只在有或无 大或小 两种幅值之间变化 这就是数字信号幅值的不连续特性 也是数字信号的一个重要特点 此外 数字信号在时间上也是不连续的 图2 5模拟信号和数字信号 如图2 5 b 所示 数字信号波形是一个矩形脉冲 2 数字脉冲电路和数字逻辑电路 如图2 5 b 所示 数字信号波形是一个矩形脉冲 所谓脉冲信号是指在短时间内信号电压或电流突然变化的信号 脉冲电路就是产生或变换脉冲波形的电路 除矩形脉冲之外 脉冲信号还有三角波形 尖顶波形等 数字电路包括数字脉冲电路和数字逻辑电路 前者研究脉冲的产生 变换和测量 后者对数字信号进行算术运算和逻辑运算 3 数字电路的特点 数字电路的主要任务是对数字信号进行各种逻辑运算和数字运算 因此有如下特点 1 数字电路中只处理二进制中的 0 和 1 两种信号 在数字电路中 可用三极管截止时输出的高电平表示数字信号的 1 状态 而用三极管饱和导通输出的低电平表示数字信号中的 0 状态 也就是说 数字电路中的三极管多半工作在开关状态 不象模拟电路中的三极管工作在放大状态 2 数字电路研究的主要问题是电路的逻辑功能 即输入信号的状态和输出信号的状态之间的关系 使用的主要方法是逻辑分析和逻辑设计 主要工具是逻辑代数 3 由于对数字电路的要求是能够可靠地区别信号为 0 和信号为 1 两种状态 因此对元器件的精度要求不高 便于进行集成 系列化生产 由于对数字信号的处理和运算是相当复杂的过程 所以数字电路往往采用集成电路 且许多是大规模集成电路 与逻辑值 0或1 对应的电平要由具体的数字电路来定 例如一些TTL数字电路中 当输出电压等于或小于0 2V 均可认为是逻辑 0 等于或者大于3V 均可认为是逻辑 1 CMOS数字电路的逻辑 0 或 1 的电位值则与工作电压有关 4 数字电路是实现逻辑功能和进行各种数字运算的电路 它用二进制数 0 和 1 来代表低电平和高电平两种状态 便可用 0 和 1 组成的代码序列来表示数字信号 因此 研究数字电路首先要了解有关二进制数的知识 4 数字电路的分类 数字电路有多种分类方式 1 按电路结构不同 可分为分立元件电路和集成电路两大类 2 按集成度分类 数字电路可分为小规模 SSI 每片数十器件 中规模 MSI 每片数百器件 大规模 LSI 每片数千器件 和超大规模 VLSI 每片器件数目大于1万 数字集成电路 集成电路从应用的角度又可分为通用型和专用型两大类型 3 按所用器件制作工艺的不同 可分为双极型 TTL型 和单极型 MOS型 两类 4 按照电路的结构和工作原理的不同 可分为组合逻辑电路和时序逻辑电路两大类 组合逻辑电路没有记忆功能 其输出信号只与当时的输入信号有关 而与电路以前的状态无关 时序逻辑电路具有记忆功能 其输出信号不仅和当时的输入信号有关 而且与电路以前的状态有关 2 2 2逻辑代数基础 逻辑代数是一种描述客观事物逻辑关系的数学方法 是研究数字电路的数学工具 是分析和设计逻辑电路的理论基础 所谓 逻辑 是指事物的因果关系 或者说条件和结果的关系 英国数学家乔治 布尔 GeorgeBoole 提出 这些因果关系可以用逻辑运算来表示 也就是用逻辑代数来描述 由于逻辑代数中的变量和常量都只有 0 和 1 两个取值 所以又称为二值代数 与普通代数不同的是 逻辑代数中常量的 0 和 1 不再表示数值的大小 而是代表两种不同的逻辑状态 例如脉冲信号的高 低电平可以用 1 和 0 来表示 逻辑代数中有与 或 非三种基本逻辑关系 分别对应着与 或 非三种基本逻辑运算 1 与逻辑 与运算 与逻辑的定义 与运算 决定事件的全部条件都满足时 事件才发生 这就是与逻辑关系 在函数式中 用 表示与运算 记做Y A B或Y AB设定变量 分别用A B表示开关A和开关B 用Y表示灯泡 状态赋值 用0 1分别表示开关和电灯有关状态的过程 称为状态赋值 现用0表示开关断开和灯灭 用1表示开关闭合和灯亮 经过设定变量和状态赋值之后 便可以得到反映开关状态与电灯之间因果关系的数学表达形式 逻辑真值表 简称真值表 列真值表 根据变量和状态赋值情况 可以很容易地列出如2 7 b 所示的真值表 图2 7与逻辑 与运算 由以上分析可以得出 在图2 7 a 所示的串联开关电路中 只有当开关A和开关B都合上时 灯Y才会亮 即对灯亮这件事情来说 开关A和开关B闭合是与的逻辑关系 与门的逻辑符号如图2 7 c 所示 2 或逻辑 或运算 或逻辑的定义 或运算 决定事件的全部条件至少有一个满足时 事件就发生 称为或逻辑关系 在函数式中 用 表示或运算 其函数表达式为 Y A B 图2 8或逻辑 或运算 由分析可以得出 在图2 8 a 所示的并联电路中 只有当开关A或开关B至少有一个合上时 灯Y就会亮 即对灯亮这件事情来说 开关A和开关B闭合是或逻辑的关系 3 非逻辑 非运算 非逻辑指的是逻辑的否定 决定事件的条件满足时 事件不发生 条件不满足 事件反而发生 在函数式中 用 表示非运算 记做 图2 9非逻辑 非运算 由分析可以得出 在图2 9 a 所示的电路中 开关A合上时 灯Y会灭 当开关A断开时 灯Y会亮 即条件具备时结果不发生 条件不具备时结果才发生 这种结果与条件之间的关系称为 非 逻辑的关系 简称非逻辑 三种基本逻辑关系都可以由具体电路来实现 通常把实现 与 逻辑运算的单元电路称为 与门 把实现 或 逻辑运算的单元电路称为 或门 把实现 非 逻辑运算的单元电路称为 非门 或称为反相器 由以上的论述可以导出如下的逻辑常量运算公式 2 2 3常用的导出逻辑运算 三种基本逻辑运算简单 容易实现 但是实际的逻辑问题要比基本逻辑运算复杂得多 有时实现基本逻辑运算的门电路 如二极管与门电路 也不是太理想 所以常把与 或 非三种基本逻辑运算合理的组合起来使用 这就是复合逻辑运算 与复合逻辑运算对应的门电路称为复合逻辑门电路 常用的复合逻辑运算有与非运算 或非运算 与或非运算 异或运算 同或运算等 1 与非运算 与非 逻辑是把与逻辑和非逻辑组合起来实现的 先进行 与 运算 把 与 运算的结果再进行 非 运算 与非运算的函数表达式为 Y 以二变量为例 与非 逻辑的真值表如图2 10 a 所示 其逻辑符号如图2 10 b 所示 2 或非运算 以二变量为例 或非 逻辑的真值表如图2 11 a 所示 其逻辑符号如图2 11 b 所示 或非函数表达式为 3 异或运算 异或 逻辑的逻辑关系是 当A B两个变量取值不相同时 输出Y为1 而A B两个变量取值相同时 输出Y为0 异或运算的逻辑表达式为 或A B 异或 逻辑的真值表如图2 12 a 所示 其逻辑符号如图2 12 b 所示 在化简逻辑函数时 必须把 异或 逻辑表达式写成 才能进行化简 图2 12异或运算 4 同或运算 同或逻辑关系为 输入逻辑变量A B相同时 输出Y为1 否则为0 逻辑表达式为 或Y A B 同或 逻辑的真值表如图2 13 a 所示 其逻辑符号如图2 13 b 所示 比较异或运算和同或运算真值表可知 异或函数与同或函数在逻辑上是互为反函数 图2 13同或运算 5 与或非运算 与或非 逻辑是把 与 逻辑 或 逻辑和 非 逻辑组合起来实现的 运算时 先进行 与 运算 把 与 运算的结果进行 或 运算 最后进行 非 运算 图2 14 a 是4变量 与或非 的逻辑符号 图2 14 b 是4变量 与或非 的等效电路 四变量 与或非 的逻辑函数表达式为 6 逻辑函数的表示方法 逻辑函数常见的表示方法有真值表 逻辑函数式 逻辑图和卡诺图4种表示方法 1 逻辑函数式表示法 布尔代数法 逻辑函数式是逻辑变量与逻辑函数之间逻辑关系的表达式 它是将逻辑变量用与 或 非等运算符号按一定规则组合起来表示逻辑函数的一种方法 例如前面介绍的灯与开关间的逻辑关系和三种基本逻辑关系的表达式 逻辑函数式表示法的优点是 简洁方便 容易记忆 便于用逻辑图实现 可以直接用公式法进行化简 不受变量个数的限制 其缺点是 不能直观地反映出输出函数与输入变量之间的一一对应的逻辑关系 2 真值表表示法真值表表示逻辑函数的优点是 可以直观 明了地反映出函数值与变量取值之间的对应关系 由实际逻辑问题列写出真值表比较容易 其缺点是 不能直接用于化简 由于一个变量有2种取值 n个变量就有2n种取值组合 因此变量多时真值表太庞大 所以多于4变量时一般不用真值表表示逻辑函数 3 逻辑图表示法逻辑图是用规定的逻辑符号表示逻辑函数运算关系网络图形的一种方法 每一个逻辑符号就是一个最简单的逻辑图 用逻辑图表示逻辑函数的优点是 最接近工程实际 图中每一个逻辑符号通常都有相应的门电路与之对应 它的缺点是 不能用于化简 不能直观的反映出输出函数与输入变量之间的对应关系 4 卡诺图法卡诺图是一种几何图形 可以用来表示和简化逻辑函数表达式 此外 逻辑函数的表示方法还有波形图 点阵图和硬件设计语言等表示方法 每一种表示方法都有其优点和缺点 表示逻辑函数时应该视具体情况合理的运用 7 逻辑函数三种表示方法之间的转换 逻辑函数的表示法之间可以相互转换 1 由真值表写出逻辑函数式在真值表中找出使逻辑函数值Y 1的行 每一行用一个乘积项表示 其中变量取值为 1 时用原变量表示 变量取值为 0 时用反变量表示 然后 将所有的乘积项进行或运算 相加 即可以得到Y的逻辑函数式 2 由逻辑函数式列出真值表按照逻辑表达式 对变量各种可能取值进行运算 求出对应的函数值 再把变量和函数值一一对应列成表格 即得到真值表 3 由逻辑函数式画出逻辑图通过把逻辑函数式中的每一种逻辑关系用相对应的逻辑符号 基本门电路 的组合就能得到与给定逻辑表达式相对应的逻辑图 与 或 非的运算组合可实现逻辑函数表达式 相应地 通过基本门电路的组合就能得到与给定逻辑表达式相对应的逻辑图 例2 11 设计一个三人表决电路 结果按 少数服从多数 的原则决定 a 绘出相应的逻辑图 b 试用与非门实现上例的逻辑关系 图2 15例2 11的解题结果 4 由逻辑图写出逻辑函数式 有两种方法由逻辑图求得逻辑函数 一是先根据逻辑图列出真值表 再由真值表写出逻辑函数 二是从输入端到输出端逐级写出每一个逻辑符号所对应的逻辑表达式 例2 12 例2 12 试求出图2 16 a 逻辑电路的逻辑表达式 并分析逻辑电路的功能 2 2 4逻辑代数的基本定律和规则 逻辑代数是通过它特有的基本公式 或称基本定律 来实现各种逻辑函数化简的 1 逻辑代数的基本定律逻辑代数的常用基本公式如表2 6所示 在表2 6中 左右两边的公式是互相对偶的 即每一个定律的或运算形式 它的对偶式就是该定律的与运算 表2 6逻辑代数常用的基本公式 例2 13 2 逻辑代数的重要规则 逻辑代数中还有三个基本规则 代入规则 反演规则和对偶规则 它们和基本定律一起构成了完整的逻辑代数系统 可以用来对逻辑函数进行描述 推导和变换 充分应用这些规则 可以扩大公式的应用范围 还可以减少一些公式的证明 1 代入规则 这个规则与普通代数没有区别 由以下两例可以看出该规则的含义 2 反演规则 已知函数F 要求其反函数时 只要将F中所有原变量变为反变量 反变量变为原变量 与运算变成或运算 乘变加 或运算变成与运算 加变乘 0变为1 1变为0 两个或两个以上变量公用的长

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论