数字逻辑电路 中国科学技术大学自动化系关胜晓 E-mail:guanxiao@ustc.edu.cn 电二楼 417
数字电子技术基础 ( 第五版 ) 清华大学电子学教研组编阎石主编
1. 主要内容 说 明 逻辑函数及其化简 集成逻辑门电路 组合逻辑电路和时序逻辑电路的分析 半导体存储器 可编程逻辑器件 脉冲单元电路及数模转换技术 2. 学时 授课 60 学时 讲课第 1 周至 14 周, 第 8 周末期中考试 第 15 周复习答疑, 周末, 期末考试 3. 考核与成绩 平时 : 课堂作业 10-15%( 代点名 )+ 课外作业 10-15% 考试 : 期中考试 20%+ 期末考试 50-60% 期末总评成绩为 : 考试成绩 + 平时成绩
第一章数制和码制 内容提要本章首先介绍有关数制和码制的一些基本概念和术语, 然后给出数字电路中常用的数制和编码 此外, 还将具体讲述不同数制之间的转化方法和二进制数算术运算的原理和方法
本章内容 1.1 概述 1.2 几种常用的数制 1.3 不同数制间的转换 1.4 二进制算数运算 1.5 几种常用的编码
1.1 概述 1. 数字技术的发展过程数字技术是一门应用学科, 它的发展可分为 5 个阶段 1 产生
2 初级阶段 电子管 ( 真空管 )
3 第二阶段 晶体管图片
4 第三阶段
5 第四阶段
620 世纪 80 年代中期
2. 脉冲信号与数字信号 信号可分为模拟信号和数字信号 模拟信号是表示模拟量的信号, 模拟量是在时间和数值上都是连续的的物理量 模拟信号包括正弦波信号和脉冲信号, 脉冲信号如方波 矩形波 尖脉冲锯齿波 梯形波等 (a) 正弦波 (b) 矩形波 ( 方波 ) (c) 尖脉冲 (d) 锯齿冲 图 1-1 几种模拟信号的波形
数字信号是表示数字量的信号, 数字量是在时间和数值上都是离散的 实现数字信号的产生 传输和处理的电路称为数字电路 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 (a) 电平型数字信号 (b) 脉冲型数字信号 图 1-2 两种数字信号波形
数码可以表示数字信号的大小和状态, 如 1001 可表示数量 10 10,, 也可以表示某个事物的代号, 如运动员的编号, 这时将这些数码称为代码
1.2 几种常用的数制 数制 : 就是数的表示方法, 把多位数码中每一位的构成方法以及按从低位到高位的进位规则进行计数称为进位计数制, 简称数制 十进制 后缀 D 或者省略, 如 1234.56D, 或者 1234.56 二进制 后缀 B, 如 1010.11B 十六进制 后缀 H,1A2B.3CH 八进制 后缀 Q 或 O,2345.67Q
1.2 几种常用的数制 一个数码的进制表示, 可用下标, 如 (N) 2 表示二进制 ; (N) 10 表示十进制 ; (N) 8 表示八进制 ; (N) 16 表示十六进制 有时也用字母做下标, 如 (N) B 表示二进制,B-Binary Binary; (N) D 表示十进制,D-Decimal Decimal; (N) O 表示八进制,O-Octal Octal; (N) H 表示十六进制,H-Hexadecimal Hexadecimal
1.2 几种常用的数制 一 十进制进位规则是 逢十进一 任意一个 n 位整数 m 位小数的十进制可表示为 ( D) 10 = n 1 n 2 0 1 m = n 1 10 n 1 + + o 10 0 + 1 10 1 + + m 10 m = n 1 i= m 10 i i
( D) 10 = n 1 n 2 0 1 m = n 1 10 n 1 + + o 10 0 + 1 10 1 + + m 10 m = n 1 i= m 10 i i 其中 : i - 称为数制的系数, 表示第 i 位的系数, 十进制 i 的取值为 0 ~ 9 十个数, i 取值从 (n-1)~ )~0 的所有正整数到 -1~- ~-m 的所有负整数 10 i - 表示第 i 位的权值,10 为基数, 即采用数码的个数 n m- - 为正整数, n 为整数部分的位数, m 为小数部分的位数
例如 : (249.56) 10 =2 10 2 + 4 10 1 + 9 10 0 其中 n=3,m=2 + 5 10 1 + 2 10 10-2
若用 N 表示任意进制 ( 称为 N 进制 ) 的基数, 则展成十进制数的通式为 ( D) = N n 1 = N n 1 n 1 n 2 0 + + 如 N=10 为十进制 N=2 为二进制 N=8 为八进制 N=16 为十六进制 o 1 N 0 m + 1 N 1 + + m N m = n 1 i= m N 其中 N 为基数, i 为第 i 位的系数, N i 表示第 i 位的权值 i i
二 二进制 进位规则是 逢二进一, 任意一个 n 位整数 m 位小数的二进制可表示为 ( D) = 2 n 1 = 2 n 1 n 1 n 2 0 + + o 1 2 0 m + n 1 i= m 其中 i - 取值只有两个数码 :0 : 和 1 2 i - 为二进制的权, 基数为 2 n m- - 为正整数如 (11011.101) 2 =1 2 4 +1 2 3 +0 2 2 +1 2 1 +1 2 0 +1 2-1 +0 2-2 +1 2-3 =(27.625) 10 1 2 1 + + m 2 m = 2 i i
三 八进制进位规则是 逢八进一,, 其基数为 8 任意一个 n 位整数 m 位小数的八进制可表示为 ( N ) 8 = n 1 n 2 0 1 m = n 1 8 n 1 + + o 8 0 + 1 8 1 + + m 8 m = n 1 i= m 8 i i 其中 i - 取值有 8 个数码 :0~7 : 8 i - 为八进制的权, 基数为 8 n m- - 为正整数如 (13.74) 8 =1 8 1 +3 8 0 +7 8-1 +4 8-2 =(11.9375) 10
四 十六进制 进位规则是 逢十六进一,, 其基数为 16 任意一个 n 位整数 m 位小数的十六进制可表示为 ( N ) = 16 n 1 = 16 n 1 n 1 n 2 0 + + o 1 16 0 m + 1 16 1 + + m 16 m = n 1 i= m 其中 i - 取值有 16 个数码 :0~9 : A(10 10) ) B (11 11) ) C(12 12) ) D(13 13) ) E(14 14) ) F(15 15) 16 i - 为十六进制的权, 基数为 16 n m- - 为正整数如 (F9.1A) 16 =15 16 16 1 +9 16 0 +1 16 16-1 +10 16 16-2 = (249.1015625) 10 16 i i
目前在计算机上常用的是 : 8 位 16 位和 32 位二进制数表示和计算 由于 8 位 16 位和 32 位二进制数都可以用 2 位 4 位和 8 位十六进制数表示, 故在编程时用十六进制书写非常方便
表 1.2.1 D B O H D B O H 0 0000 00 0 8 1000 10 8 1 0001 01 1 9 1001 11 9 2 0010 02 2 10 1010 12 A 3 0011 03 3 11 1011 13 B 4 0100 04 4 12 1100 14 C 5 0101 05 5 13 1101 15 D 6 0110 06 6 14 1110 16 E 7 0111 07 7 15 1111 17 F
1.3 不同数制间的转换数制转换 : 不同进制的数码之间的转换叫做数制转换 一 二进制数 八进制数和十六进制数转换成十进制数即将二进制数 八进制数和十六进制数转换成十进制数, 方法是将二进制数 八进制数和十六进制数按下列公式进行展开即可 ( D) = N n 1 = N 例如 : n 1 n 1 ( 11011. 11) B n 2 0 + + = 1 2 o 1 N 0 + 1 2 m + = 16 + 8 + 2 + 1+ 0. 5 + 0. 25 = 4 3 1 N + 0 2 2 1 ( 27. 75) D + + + 1 2 1 m N + 1 2 0 m = + 1 2 n 1 i= m 1 N i + 1 2 i 2
例如 : ( 176. 51) O = 1 8 2 + 7 8 = 64 + 56 + 6 + 0. 625 + 0. 015625 = 1 + 6 8 0 + 5 8 1 ( 126. 64) + 1 8 D 2 2 1 0 (2 AF.CE) H = 2 16 + 10 16 + 15 16 + 12 16 = 512 + 160 + 15 + 0. 75 + 0. 0546875 = ( 688. 81 ) D 1 + 14 16 2
二 十进制数转换成二进制数 即将十进制数转换成二进制数, 原则是 整数除 2,, 小数乘 2 a. 十进制的整数转换将十进制的整数部分用基数 2 去除, 保留余数 ( 第一次得到的余数为最低有效位 ), 再用商除 2, 依次下去, 直到商为 0 为止, 其余数即为对应的二进制数的整数部分
b. 十进制的小数转换将小数用基数 2 去乘, 保留积的整数, 再用积的小数继续乘 2, 依次下去, 直到乘积是 0 为或达到要求的精度, 其积的整数部分即为对应的二进制数的小数部分
例 1.3.1 将 (173.39) D 转化成二进制数, 要求精度为 1% 解 : 其过程如下 a. 整数部分即 (173) D =(10101101) B 2 2 173 86 1 ( 0 ) 0 ( 1 ) 2 43 1 ( 2 21 2 ) 1( 3 ) 2 10 0 ( 4 ) 2 5 1( 5 ) 2 2 0 ( ) 2 1 6 1( 7 ) 0
b. 小数部分 由于精度要求为 1%, m 故应该令 2 1% m 2 取对数, 可得 2 1% = 10 m 2 lg 100 2 m 6. 6 lg10 10 = 取 m=7 满足精度要求, 过程如下 即 (0.39) D =(0.0110001) B 故 (173.39) D =(10101101.0110001) B m 2 100 0.39 2=0.78 0 0.78 2=1.56 1 0.56 2=1.12 1 0.12 2=0.24 0 0.24 2=0.48 0 0.48 2=0.96 0 0.96 2=1.92 1 ( 1) ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( ) 6 ) ( 7
依此类推, 对于十进制转换成其它进制, 只要把基数 2 换成其它进制的基数即可
三 二进制转换成八进制和十六进制方法 3 位二进制数可以有 8 个状态,000~111 000~111,, 正好是 8 进制 4 位二进制数可以有 16 个状态,0000 0000~1111 1111,, 正好是 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) O =(111000011.110101) B (9F12.04A) H =(1001111100010010.00000100101) B
问题 : 若要将十进制转换成八进制或 16 进制, 怎么实现? 方法 : 可先转换成二进制, 再分组, 转换成八进制或十六进制 例 1.3.4 将 (87) D 转换成八进制数和十六进制数 解 : 先将 87 转化成二进制, 过程如图, 则 (87) D =(1010111) B = (001 010 111) B = (127) O =(0101 0111) B = (57) H 2 87 1 2 43 1 2 21 1 2 10 0 2 5 1 2 2 0 2 1 1 0 ( 0 ) ( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( 6 )
1.4 二进制的算术运算 1.4.1. 二进制算术运算的特点当两个二进制数码表示两个数量的大小, 并且这两个数进行数值运算, 这种运算称为算术运算算术运算 其规则是 逢二进一 借一当二 算术运算包括 加减乘除,, 但减 乘 除最终都可以化为带符号的加法运算
1.4 二进制的算术运算 例如, 两个数 1001 和 0101 的算术运算如下 加法 减法 1001 + 0101 1110 1001-0101 0100 乘法 1001 0101 1001 0000 1001 0000 0101101 除法 0101 1 1.1 1001 0101 1000 0101 0110 0101 0010
1.4.2 反码 补码和补码运算 一 原码在用二进制数码表示一个数值时, 其正负是怎么区别的呢? 二进制数的正负数值的表述是在二进制数码前加一位符号位, 用 0 表示正数, 用 1 表示负数, 这种带符号位的二进制数码称为原码原码 定义符号位 :0 表示正,1 表示负 ; 数值位 : 真值的绝对值 X 原 = X n 2 2 n 1n 1 > > X X 0 0 = 1 n n1 1 + X 2 0 X > 2
例如 : +17 的原码为 0001 001 0001-17 的原码为 1001 0001 n 位原码表示数值的范围是 : n n ( 2 1 1) ~ + ( 2 1 1) 对应的原码是 111 1~ 011 1 8 位数 0 的原码 :+0 = 0 0000000-0 = 1 0000000 即, 数 0 的原码不唯一
1.4.2 反码 补码和补码运算 二 反码二进制的反码求法 : 正数的反码与原码相同 ; 负数的反码除了符号位外定义, 数值部分按位取反 即 1 若 X 0 改为 0, 0, 则 X 反 =X 改为原 ; 1 若 X 0, 则 X 反 = 对应原码的符号位不变, 数值部分按位求反 X 反 = X n ( 2-1 ) + 2 n 1 > X 0 = n n 1 1 X 0 X > 2
例如 +17 和 -17 的原码和反码为码为 : +17 的原码为 0 001 0001,, 反码为 0 001 0001-17 的原码为 1 001 0001,, 反码为 1 110 1110 注 :0 的反码有两种表示 +0 反 = 00000000-0 反 = 11111111 n 位反码表示数值的范围是 : n n ( 2 1 1) ~ + ( 2 1 1) 对应的反码是 100 0~ 011 1
三 补码当做二进制减法时, 可利用补码将减法运算转换成加法运算 在将补码之前先介绍模 ( 或模数 ) 的概念 1. 模 ( 模数 ) 的概念把一个事物的循环周期的长度, 叫做这个事件的模或模数 如一年 365 天, 其模数为 365; ; 钟表是以 12 为一循环计数的, 故模数为 12 十进制计数就是 10 个数码 0~9, 的循环, 故模为 10
以表为例来介绍补码运算的原理, 对于图 1.4.1 所示的钟表, 当在 5 点时发现表停在 10 11 12 1 点, 若想拨回有两种方法 : a. 逆时针拨 5 个格, 即 10-5=5,, 这是做减法 b. 顺时针拨七个格, 即 10+7=17 17,, 由于模是 12, 故 1 相当于进位 12,1 溢出, 故为 7 格, 也是 17-12 12 =5, 这是做加法 10 9 8 10-5=5 7 10+7-12=5 2 3 4 6 5 图 1.4.1 补码的原理
5+7=12 7=12+(-5-5) 5=12+(-7-7) 将故 7 称为 -5 的补数, 即补码, 也可以说减法可以由补码的加法来代替 9 11 10 8 10-5=5 7 12 1 10+7-12=5 6 5 2 4 3 图 1.4.1 补码的原理
2. 补码的表示 正数的补码和原码相同 负数的补码是符号位为 1,, 数值位按位取反加 1,, 即 反码加 1 定义若 X 0, 则 X 补 = X 反 = X 原 n 1 若 X<0, 则 X 补 = X 反 +1 X 2 > X 0 X 反 = n ( ) n 1 2-1 X 0 X > 2 n 1 X 2 > X 0 X 补 = n n n 1 1 2 + X 0 X > 2
例如 : [+7] 原码 0 111 反码 0 111 补码 0 111 [-7] 1 111 1 000 1 001 n 位补码表示数值的范围是 n 1 n 2 ~ + ( 2 1 1) 对应的补码是 100 0~ 011 1
注意 : 1. 采用补码后, 可以方便地将减法运算转换成加法运算, 而乘法和除法通过移位和相加也可实现, 这样可以使运算电路结构得到简化 ; 2. 正数的补码即是它所表示的数的真值, 负数的补码部分不是它所示的数的真值, 而是机器数 3. 0 的补码只有一个, 即 (0000 0000) B [+0] 补 = [+0] 原 =00000000 [-0] 补 = [-0] 反 +1=11111111+1 =1 00000000 对 8 位字长, 进位被舍掉 [+0] 补 = [-0] 补 = (00000000 00000000) B
注意 : 4. 已知原码, 求补码和反码 : 正数的原码和补码 反码相同 ; 负数的反码是符号位不变, 数值位取反, 而补码是符号位不变, 数值位取反加 1 如 : 原码为 10110100,, 其反码为 11001011,, 补码为 1100100
5. 已知补码, 求原码 : 正数的补码和原码相同 ; 负数的补码应该是数值位减 1 再取反, 但对于二进制数来说, 先减 1 取反和先取反再加 1 的结果是一样的 故由负数的补码求原码就是数值位取反加 1 如已知某数的补码为 (11101110 11101110) B, 其原码为 (10010010 10010010) B 6. 如果二进制的位数为 n,, 则可表示的有符号位数的范围为 (-2 n ~ 2 n-1-1), 如 n=8,, 则可表示 (-128 128~ 127),, 故在做加法时, 注意两个数的绝对值不要超出它所表示数的范围 请问 :-1 的补码是多少? 以 8 位二进制表示
补码加减法的运算规则 通过引进补码, 可将减法运算转换为加法运算 规则如下 : [X+Y] 补 =[X] 补 +[Y] 补 [X-Y] 补 =[X] 补 + [-Y] 补其中 X,Y 为正负数均可, 符号位参与运算
例 1.4.1 用二进制补码计算 :75 75+28 75-28 -75 75+28-75-28 解 : 先求两个数的二进制原码和补码 ( 用 8 位代码 ) (+75 75) D =(01001011 01001011) B (+28 28) D =(00011100 00011100) 原码 B (-75 75) D =(11001011 11001011) B (-28 28) D =(10011100 10011100) B 补码 7 5 + 2 8 1 0 3 (-75 75) D =(10110101 10110101) B (-28 28) D =(11100100 11100100) B 0 1001011 + 0 0011100 0 1100111
7 5-2 8 4 7-7 5 + 2 8-4 7-7 5-2 8-10 3 溢出 0 1001011 + 1 1100100 1 0 0101111 1 0110101 + 0 0011100 1 1010001 1 0110101 + 1 1100100 1 1 0011001 溢出补码补码
表 1.4.1 十进制数 原码反码补码 十进制数 原码反码补码 +7 0111 0111 0111-1 1001 1110 1111 +6 0110 0110 0110-2 1010 1101 1110 +5 0101 0101 0101-3 1011 1100 1101 +4 0100 0100 0100-4 1100 1011 1100 +3 0011 0011 0011-5 1101 1010 1011 +2 0010 0010 0010-6 1110 1001 1010 +1 0001 0001 0001-7 1111 1000 1001 0 0000 0000 0000-8 1000 1111 1000
1.5 二进制编码 1.5.1 三个术语 数码 : 代表一个确切的数字, 如二进制数, 八进制数等 代码 : 特定的二进制数码组, 是不同信号的代号, 不一定有数的意义 如 1001,, 等 编码 :n 位二进制数可以组合成 2 n 个不同的信息, 给每个信息规定一个具体码组, 这种过程叫编码 数字系统中常用的编码有两类, 一类是二进制编码, 另一类是二 - 十进制编码 另外无论二进制编码还是二 - 十进制编码, 都可分成有权码 ( 每位数码代表的权值固定 ) 和无权码 如在 BCD 中表示十进制 0~9,, 采用 4 位二进制 0000~1001 来编码
1.5.2 十进制代码 用 4 位二进制代码表示十进制的 0~9 个数码, 即二 - 十进制的编码 4 位二进制代码可以有 0000~1111 十六个状态, 则表示 0~9 十个状态可以有多种编码形式, 其中常用的有 8421 码 余 3 码 2421 码 5211 码 余 3 循环码等, 其中 8421 码 2421 码 5211 码为有权码, 即每一位的 1 都代表固定的值 表 1.5.1 为几种编码形式
表 1.5.1 返回 A 返回 B 编码种类 8 4 2 1 码十进制数 ( B C D 代码 ) 0 0 0 0 0 余 3 码 2 4 2 1 码 5 2 1 1 码 余 3 循环码 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0 2 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 1 1 3 0 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1 4 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 5 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 6 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 1 7 0 1 1 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 8 1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 9 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 0 权 8 4 2 1 2 4 2 1 5 2 1 1
说明 : 链接 A 1. 8421 码 : 又称 BCD 码, 是最常用的十进制编码 其每 i 位的权为 8 4 2 1,, 按公式 D = i 2 展开, 即可得对应的十进制数, 如 (0101 0101) 2 =1 2 4 +1 2 0 =5 2. 余 3 码不是有权码, 由于它按二进制展开后十进制数比所表示的对应的十进制数大 3 如 0101 表示的是 2,, 其展开十进制数为 5,, 故称为余 3 码 采用余 3 码的好处是 : 利用余 3 码做加法时, 如果所得之和为 10,, 恰好对应二进制 16,, 可以自动产生进位信号 如 0110(3)+ )+1010 (7)= )=1111 1111(10 10); 另外 0 和 9 1 和 8 2 和 7 是互为反码, 这对于求补很方便
3. 2421 码是有权码, 其每位的权为 2 4 2 1,, 如 (1100) 2 =1 2+1 4=6,, 与余 3 码相同之处是 0 和 9 1 和 8 2 和 7 互为反码 另外当任何两个这样的编码值相加等于 9 时, 结果的 4 个二进制码一定都是 1111 链接 B 4. 5211 码也是有权码, 其每位的权为 5 2 1 1,, 如 (0111) 2 =1 2+1 1+1 1=4,, 主要用在分频器上 5. 余 3 循环码是无权码, 它的特点是相邻的两个代码之间只有一位状态不同 这在译码时不会出错 ( 竞争 - 冒险 )
1.5.3 二进制编码包括自然码和循环码, 如表 1.5.2 所示表 1.5.2 两种 4 位二进制编码 十进制数 自然二进制码 循环二进制码 十进制数 自然二进制码 0 0000 0000 8 1000 1100 1 0001 0001 9 1001 1101 2 0010 0011 10 1010 1111 循环二进制码 3 0011 0010 11 1011 1110 4 0100 0110 12 1100 1010 5 0101 0111 13 1101 1011 6 0110 0101 14 1110 1001 7 0111 0100 15 1111 1000 返回
链接 自然码有权码, 每位代码都有固定权值, 结构形式与二进制数完全相同, 最大计数为 2 n -1,n 为二进制数的位数 循环码也叫格雷码, 它是无权码, 每位代码无固定权值, 其组成格雷码的最低有效有效位按 0110 循环 ; 右边第二位第二位按 00111100 循环 ; 右边第三位第三位按 0000111111110000 循环, 以此类推可以得到多位数的格雷码 格雷码的特点是任何相邻的两个码组中, 仅有一位代码不同, 抗干扰能力强, 主要用在计数器中
1.5.4 美国信息交换标准代码 (ASC ASCII II) L H ASCII 字符表 000 001 010 011 100 101 110 111 0000 NUL DLE SP 0 @ P ` p 0001 SOH DC1! 1 A Q a q 0010 STX DC2 " 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENG NAK % 5 E U e u 0110 ACK SYN & 6 F V f v 0111 BEL ETB ' 7 G W g w 1000 BS CAN ( 8 H X h x 1001 HT EM ) 9 I Y i y 1010 LF SUB * : J Z j z 1011 VT ESC + ; K [ { 1100 FF FS, < L \ l 1101 CR GS - = M ] m } 1110 SO RS. > N n ~ 1111 SI US /? O o DEL 注 :H 表示高 3 位,L 表示低 4 位 American Standard Code for Information Interchange
1.5.4 美国信息交换标准代码 (ASC ASCII II) 采用 7 位二进制代码对字符进行编码 数字 0-9 的编码是 0110000 0000-011 0111001 1001, 它们的高 3 位均是 011, 后 4 位正好与其对应的二进制代码 (BCD 码 ) 相符 英文字母 A-Z 的 ASCII 码从 1000001(41H 41H) 开始顺序递增, 字母 a~z 的 ASCII 码从 1100001(61H 61H) 开始顺序递增, 这样的排列对信息检索十分有利 最高位通常总为 0, 有时也用作奇偶校验位
1.5.4 美国信息交换标准代码 (ASC ASCII II) 表 1.5.4 控制码含义 NUL 空 VT 垂直制表 SYN 空转同步 SOH 标题开始 FF 走纸控制 ETB 信息组传送结束 STX 正文开始 CR 回车 CAN 作废 ETX 正文结束 SO 移位输出 EM 纸尽 EOY 传输结束 SI 移位输入 SUB 换置 ENQ 询问字符 DLE 空格 ESC 换码 ACK 确认 DC1 设备控制 1 FS 文字分隔符 BEL 报警 DC2 设备控制 2 GS 组分隔符 BS 退一格 DC3 设备控制 3 RS 记录分隔符 HT 横向列表 DC4 设备控制 4 US 单元分隔符 LF 换行 NAK 否定 DEL 删除
第一章数制和码制 本章结束
课堂练习 1. 将一个用补码表示的二进制数转换为十进制数 1) [X] 补 = 0 0101110B 2) [X] 补 = 1 1010010B 2. 将十进制数 -127 转换为二进制补码形式
课堂练习答案 1. 将一个用补码表示的二进制数转换为十进制数 1) [X] 补 = 0 010 1110B 正数真值为 :+0010 010 1110B 所以 :X=+46 2) [X] 补 = 1 101 0010B 负数 X = [[X] 补 ] 补 = [1101 0010] 补 = - 0010 010 1110B 所以 :X = - 46
课堂练习答案 2. 将十进制数 -127 转换为二进制补码形式 +127D= 127D=0 111 1111B 即 -127D 原 =1 111 1111B 则 -127D 反 =1 000 0000B -127D 补 =1 000 0001B
作业 P17 作业 题 1.1 题 1.4 题 1.6 P18 题 1.9 题 1.11 题 1.12 (1)( )(4) 题 1. 13 (2)(5)(8) 题 1.15 (3)(5)(7)