第一章 数制与 BCD 码
所属:数字逻辑基础(第 8 章 8.1 节)
数制(进位计数制):用进位的方法来计数,包括计数符号(数码) 和进位规则两个方面。常用的有十进制、二进制、八进制、十六进制等。
8.1.1 常用数制
1. 常用数制一览
| 数制 | 计数符号 | 进位规则 | 按权展开式 |
|---|---|---|---|
| 十进制 | 0~9 | 逢十进一 | |
| 二进制 | 0、1 | 逢二进一 | |
| 八进制 | 0~7 | 逢八进一 | |
| 十六进制 | 0~9、A~F | 逢十六进一 |
其中 为系数、 为权( 为基数)。
例:
- 十进制:
- 十六进制:(、)
- 八进制:
数字电路中采用二进制的原因:
- 数字装置简单可靠;
- 二进制数运算规则简单;
- 数字电路既可以进行算术运算,也可以进行逻辑运算。
2. 二进制与十进制之间的转换
- 二进制 → 十进制(按权展开法):
- 十进制 → 二进制(提取 2 的幂法):
- 数制转换还可以采用基数连除、连乘(除基数取余、乘基数取整)等方法。
3. 二进制算术运算
- 运算规则与十进制相同,区别是逢二进一。
- 特点:加、减、乘、除全部可以用移位和相加两种操作实现,电路结构简化,所以数字电路中普遍采用二进制算术运算。
加法:逐位相加并处理进位。设 、,和为 :
减法:将减数 变成补码后与被减数 相加,若有进位则舍去,其和即为两数之差。例:
乘法:乘以 2 相当于左移一位。实现方法:① 按十进制乘法过程;② 移位相加法。
除法:除以 相当于右移 位。例(,即除以 4):
4. 带符号数的表示:原码、反码和补码
计算机中的带符号数表示为 符号位 + 真值(合称机器数),符号位用 "0" 表示正、"1" 表示负。
| 编码 | 定义 | 说明 |
|---|---|---|
| 原码 | 最高位为符号位,其余为真值部分 | 正负号与原真值对应关系简单、容易理解;但用原码进行加减运算比较困难,0 的表示不唯一 |
| 反码 | 时同原码; 时符号位不变、数值部分按位取反 | 0 的反码也不唯一 |
| 补码 | 时同原码; 时 | 符号位与 相同;0 的表示唯一,可将减法转换为加法 |
例():
0 的编码:8 位原码中 、,不唯一;补码表示唯一:
特殊数 :
- 原码中定义为 ;反码中定义为 ;补码中定义为 ;作为无符号数时 。
表示范围(8 位):
| 编码 | 表示范围 |
|---|---|
| 原码 / 反码 | |
| 补码 | |
| 无符号数 |
补码运算:引进补码后,减法可转换为加法:
例:、,求 :
符号位讨论(用二进制补码求 、,6 位字长):
无符号数的溢出:,运算结果超出该范围即产生溢出;判断准则:运算时**最高位向更高位有进位(或借位)**则产生溢出。
8.1.2 几种简单的编码
1. 二-十进制码(BCD 码,Binary Coded Decimal codes)
用四位二进制代码来表示一位十进制数码。四位二进制有 16 种组合,可任选其中 10 种表示十进制数的 10 个符号,选择方法不同就得到不同的编码形式。常见的有 8421 码、5421 码、2421 码、余 3 码等。
| 十进制数 | 8421 码 | 5421 码 | 2421 码 | 余 3 码 |
|---|---|---|---|---|
| 0 | 0000 | 0000 | 0000 | 0011 |
| 1 | 0001 | 0001 | 0001 | 0100 |
| 2 | 0010 | 0010 | 0010 | 0101 |
| 3 | 0011 | 0011 | 0011 | 0110 |
| 4 | 0100 | 0100 | 0100 | 0111 |
| 5 | 0101 | 1000 | 1011 | 1000 |
| 6 | 0110 | 1001 | 1100 | 1001 |
| 7 | 0111 | 1010 | 1101 | 1010 |
| 8 | 1000 | 1011 | 1110 | 1011 |
| 9 | 1001 | 1100 | 1111 | 1100 |
- 有权 BCD 码:每位数码都有确定的位权,如 8421 码、5421 码、2421 码。
- 例:5421 码 代表 ;2421 码 代表 。
- 5421 码与 2421 码编码不唯一,如 2421 码 也可表示 6。
- 表中编码的特征:
- 8421 码与代表 0~9 的二进制数一一对应;
- 5421 码前 5 个码与 8421 码相同,后 5 个码在前 5 个码的基础上加 1000;
- 2421 码前 5 个码与 8421 码相同,后 5 个码以中心对称取反,称为自反代码。例:、;、。
- 无权 BCD 码:每位数码无确定的位权,如余 3 码,其编码规律为在 8421 码上加 0011。例:6 的余 3 码为 。
2. 格雷码(Gray 码)
- 无权码;特点:相邻两个代码之间仅有一位不同,其余各位均相同,这种代码称为循环码,格雷码是循环码。
- 与四位二进制码之间的关系:设二进制码为 、格雷码为 ,则
- 为异或运算符,运算规则:两运算数相同结果为 "0",不同结果为 "1"。
3. 计算机字符集
各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。常见字符集:ASCII、GB2312、BIG5、GB18030、Unicode。
总结要点
| 主题 | 要点 |
|---|---|
| 常用数制 | 十进制 / 二进制 / 八进制 / 十六进制;按权展开 |
| 二-十转换 | 二 → 十按权展开;十 → 二提取 2 的幂(还可用基数连除、连乘) |
| 二进制算术运算 | 加、减、乘、除均可用移位和相加实现;减法用补码化为加法 |
| 原码 / 反码 / 补码 | 符号位 + 真值;;0 的补码唯一;8 位补码范围 |
| 补码运算 | ;无符号数最高位向更高位有进位(或借位)则溢出 |
| BCD 码 | 8421(与二进制一一对应)、5421 / 2421(有权、不唯一;2421 为自反代码)、余 3(无权,8421 + 0011) |
| 格雷码 | 无权循环码,相邻代码仅一位不同; |