[数电] 第1章:数制与编码
重点及难点
- 进位计数制,常用数制之间的转换
- 原码、反码、补码的概念及相互转换
- BCD 码概念,8421 BCD 码
1-1 数制及其相互转换
- 数码:由数字符号构成且表示物理量大小的数字和数字组合。
- 进位计数制(简称数制):多位数码中每一位的构成方法,以及从低位到高位的进制规则。
- 了解进位计数制的两个概念:进位基数和数位的权值(位权)。
- 一种进位计数制包含着基数和位权两个基本的因素:
- 基数(R 进制)(base):
- 指计数制中所用到的数字符号的个数。在基数为 R 计数制中,包含0、1、…、R-1共R个数字符号,进位规律是 “逢R进一 ”。称为R进位计数制,简称R进制。
- 位权(相应位的数)(weight):R进制数的位权是R的整数次幂
- 是指在一种进位计数制表示的数中,用来表明不同数位上数值大小的一个固定常数。不同数位有不同的位权,某一个数位的数值等于这一位的数字符号乘上与该位对应的位权。
- 并列表示法
(N)R=an-1an-2…a2a1…a-1a-2…a-m - 多项式表示法 (按权展开)
( N ) R = a n − 1 R n − 1 + a n − 2 R n − 2 + ⋯ ⋅ a 2 R 2 + a 1 R 1 + a 0 R 0 + a − 1 R − 1 + a − 2 R − 2 + ⋯ + a − m R − m = ∑ i = − m n − 1 a i R i \begin{aligned} (N)_R &= a_{n-1}R^{n-1} + a_{n-2}R^{n-2} + \cdots \cdot a_2 R^2 + a_1 R^1 + a_0 R^0 \\ &\quad + a_{-1}R^{-1} + a_{-2}R^{-2} + \cdots + a_{-m} R^{-m} \\ &= \sum_{i=-m}^{n-1} a_i R^i \end{aligned}(N)R=an−1Rn−1+an−2Rn−2+⋯⋅a2R2+a1R1+a0R0+a−1R−1+a−2R−2+⋯+a−mR−m=i=−m∑n−1aiRi
- R进制特点:
- 有0、1、…、R-1共R个数字符号
- 逢R进一
- 位权是R的整数次幂,第i位的权为R i R^iRi(-m≤i≤n-1)
常用的进位计数制
十进制
- 数字符号:0、1、2、3、4、5、6、7、8、9
- 计数规则:逢十进一
- 基数:10
- 各位的权值为10 i 10^i10i,i是各数位的序号。
( 368.258 ) 10 = 3 × 10 2 + 6 × 10 1 + 8 × 10 0 + 2 × 10 − 1 + 5 × 10 − 2 + 8 × 10 − 3 \begin{aligned} (368.258)_{10} &= 3 \times 10^2 + 6 \times 10^1 \\ &\quad + 8 \times 10^0 + 2 \times 10^{-1} + 5 \times 10^{-2} + 8 \times 10^{-3} \end{aligned}(368.258)10=3×102+6×101+8×100+2×10−1+5×10−2+8×10−3
十进制数人们最熟悉, 但机器实现起来困难
二进制
- 数字符号:0、1
- 计数规则:逢二进一
- 基数:2
- 各位的权值为2 i 2^i2i,i是各数位的序号
- 算数运算规则:加、减、乘、除
- 二进制优点:运算简单、物理实现容易、存储和传送方便、可靠。因为二进制中只有0和1两个数字符号,可以用电子器件的两种不同状态来表示一位二进制数。例如,用电平的高和低表示1和0等。所以,在数字系统中普遍采用二进制。
- 二进制的缺点:数的位数太长且字符单调,使得书写、记忆和阅读不方便。
十六进制
- 计数符号:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
- 计数规则:逢十六进一
- 基数R:16
- 位权:16的整数次幂
- 用途:表示和记录二进制数(4位二进制表示1位十六进制)
八进制
- 数字符号:0,1,2, 3,4,5,6,7
- 计数规则:逢八进一
- 基数:8
- 权:8 i 8^i8i,i是各数位的序号
- 三位二进制表示以为八进制
1-1-2 数制转换
- 二进制与十进制:
- Binary to Decimal
- Decimal to Binary
- 二进制与八进制
- Binary to Octal
- Octal to Binary
- 二进制与十六进制
- Binary to Hexadecimal
- Hexadecimal to Binary
1-2 带符号二进制数的表示
- 标记一个数正负—>“+/-”
(把二进制数的符号位和数值位一起编码可以得到机器码。)—>首位作为符号位 - 0—>+
- 1—>-
n位机器码的格式:
原码、反码、补码
- A 的原码:
A为正数:符号位为0,数值位为|A| (用自然二进制数表示)
A为负数:符号位为1,数值位为|A| (用自然二进制数表示)
简单易懂,加减不方便
表示范围:− ( 2 n − 1 − 1 ) + ( 2 n − 1 − 1 ) -(2^{n-1}-1)~+(2^{n-1}-1)−(2n−1−1)+(2n−1−1) - A 的反码:
A为正数:其反码与原码相同。
A为负数: 在A的原码的基础上,符号位不变,数值位
[ x 1 + x 2 ] 反 = [ x 1 ] 反 + [ x 2 ] 反 [x1+x2]_反=[x1]_反+[x2]_反[x1+x2]反=[x1]反+[x2]反
[ x 1 − x 2 ] 反 = [ x 1 ] 反 + [ − x 2 ] 反 [x1-x2]_反=[x1]_反+[-x2]_反[x1−x2]反=[x1]反+[−x2]反
符号位一起参加运算,有进位加入运算结果最低位
按位取反。
表示范围:− ( 2 n − 1 − 1 ) + ( 2 n − 1 − 1 ) -(2^{n-1}-1)~+(2^{n-1}-1)−(2n−1−1)+(2n−1−1) - A 的补码:
A为正数:其补码与原码相同。
A为负数:在其反码基础上,符号位不变,数值位加1。
(原码取反加1)
[ x 1 + x 2 ] 补 = [ x 1 ] 补 + [ x 2 ] 补 [x1+x2]_补=[x1]_补+[x2]_补[x1+x2]补=[x1]补+[x2]补
[ x 1 − x 2 ] 补 = [ x 1 ] 补 + [ − x 2 ] 补 [x1-x2]_补=[x1]_补+[-x2]_补[x1−x2]补=[x1]补+[−x2]补
符号位一起参加运算,有进位应将进位丢掉
表示范围:− 2 n − 1 + ( 2 n − 1 − 1 ) -2^{n-1}~+(2^{n-1}-1)−2n−1+(2n−1−1)
1-3 编码
- 数字系统(电路)用于处理二进制数字0和1。
- 实际问题很少能直接基于二进制数字来描述。
如何将二进制数字0、1与现实问题联系起来?(数字,字母,事件,条件…)
1-3-1 BCD
Binary Coded Decimal
四位二进制表示十进制
- 用四位二进制代码对十进制数字符号进行编码,简称为二-十进制代码。
- 常用 BCD 码:
8421BCD 码、5421BCD 码、2421BCD 码、余 3 码、余 3 循环码
余三码(0):0011
- 8421BCD码
- 有权码,0-9的8421BCD码与二进制数表示的0-9完全相同;
- 8421码中不允许出现1010~1111六种组合(因为没有十进制数字符号与其对应)。(对应不了的不存在)
- 十进制数字符号的8421码与相应ASCII码的低四位相同,这一特点有利于简化输入输出过程中BCD码与字符代码的转换。
- 与十进制转换按位转换
- (首位看作8)
有权码:在二进制编码十进制(BCD)中,每个二进制位被赋予一个固定权重的编码方式
- 5421BCD码
- 有权码;(首位看作5)
- 不具备单值性,5421码中不允许出现0101~0111和1101~1111六种组合(为了与十进制数字符号一一对应)。
- 2421BCD码
- 有权码;(首位看作2)
- 不具备单值性,2421码中不允许出现0101~1010六种组合(为了与十进制数字符号一一对应)
- 自补码:自补特性,即按位取反可获得该数对9的补数的2421BCD码 (a 反 = ( 9 − a ) a_反=(9-a)a反=(9−a))
- 余3BCD码
- 无权码 每个字符编码比相应的8421BCD码多3
- 不允许出现00000010和11011111六种组合。(无字符对应)
- 自补码:对9自补(a 反 = ( 9 − a ) a_反=(9-a)a反=(9−a))
- 余3码相加:有进位加3,无进位减3
1-3-2 可靠性编码
作用:提高系统的可靠性
为了减少或者发现代码在形成和传送过程中可能发生的错误格雷码
特点:任意两个相邻的数所对应的代码之间只有一位不同,其余位都相同。奇偶校验码
具有检错能力,能发现奇数个代码位同时出错的情况
“奇校验”时,使校验位和信息位所组成的代码中含有奇数个1
“偶校验”时,使校验位和信息位所组成的代码中含有偶数个1汉明码
循环冗余码
1-3-3 字符编码
- 数字系统中处理的信息除了数值信息之外,还有字母、运算符号、标点符号以及其他特殊符号信息,这些符号统称为字符。所有字符在数字系统中必须用二进制编码表示,通常将其称为字符编码。
- 字符——编码
- 最常用的字符编码是美国信息交换标准码——ASCII码
- 由于数字系统中实际是用一个字节表示一个字符,所以使用ASCII码时,通常在最左边增加一位奇偶校验位
