跳转到内容

Advertising:

BCD 码

来自GSXAB的知识库
BCD
术语名称 BCD
英语名称 BCD
别名 二进码十进数, 二进制编码的十进制, binary-coded decimal

BCD[1] 是一种数字字符编码方式,将每一个十进制位通过 4 位二进制码编码。其字符集中通常仅含有 0~9 这 10 个数字,且被编码为 4 个二进制位

本文是数字字符编码方式。关于借用这一名称的字符编码方案,即 BCD 交换码,见 BCDIC

BCD 码有多种不同变体,其中最常见的是 8421BCD 码。若从进位制记数法的角度看,采用 8421BCD 码的十进制数,本质上是构成了一种二进制-十进制混合进制,其各位位权序列为 [math]\displaystyle{ 1,2,4,8;10,20,40,80;100,200,400,800;\cdots }[/math] 。在不指定具体变体时, BCD 码默认指代 8421BCD 码。

具体编码

4 个二进制位共产生 16 个码位, BCD 码仅用其中的 10 个编码十进制数字 0~9 。

有权 BCD 码

此类编码的每个二进制位具有固定的位权,将各位上数字的数值与对应位权相乘后求和,即可直接得到该位的十进制值。

  • 8421BCD 码/简单 BCD 码(Simple BCD, SBCD, BCD 8421):四位数字从左到右权值分别为 8、4、2、1 ,使用 0000-1001 编码 0~9 ,而 1010~1111 是无效编码。这一编码与 0~9 的自然二进制表示完全一致。
    • 四位自然二进制码/自然 BCD 码(Natural BCD, NBCD):在 8421BCD 码的基础上允许码位 1010~1111 正常表示 10~15 ,则属于数字的自然二进制码。
  • 5421BCD 码:四位数字从左到右的权值为 5、4、2、1 。这种编码中同一个数字的编码不唯一,规范编码中 0~4 取最高位为 0 的编码,而 5~9 可由对应数字的编码加上最高位的 1 得到。其特点是最高位与其余三位分离,且 5~9 的编码和 0~4 的编码对应。
  • 2421BCD 码:四位数字从左到右的权值为 2、4、2、1 。这种编码中同一个数字的编码不唯一,规范编码中 0~4 取最高位为 0 的编码,然后 5~9 为 4~0 的补。其特点是这种编码是一种自反码/对 9 互补码,即一个数按位取反后,恰好是其对 9 的补数。

无权 BCD 码

此类编码没有固定的位权,通常由某种变换得到。其中最常见的是偏移二进制码,对应自然二进制码基础上加减常数。

  • 余 3 码(excess-3, XS-3, Stibitz code):加 3 的 8421 码,是一种自反码。余 3 码中每一位没有固定权重。如果对余 3 码的最后两位取反,可以会得到一种有权码,四位的权重分别为 8、4、-2、-1 。
  • 余 6 码(excess-6, XS-6):加 6 的 8421 码。

压缩与非压缩

任意一种 BCD 码如果两个编码被打包在一个 8 位的字节内,称为压缩的;否则,每个数字处于每个字节的最后 4 位,称其为非压缩的。非压缩的编码中,最高 4 位通常为 0 。

数值对应

十进制数字在各种 BCD 码中的对应编码
编码种类 0 1 2 3 4 5 6 7 8 9
8421BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
NBCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
5421BCD 0000 0001 0010 0011 0100 1000 1001 1010 1011 1100
2421BCD 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111
余 3 码 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
余 6 码 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
四位二进制编码在各种 BCD 码中的对应十进制数字
编码种类 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
8421BCD 0 1 2 3 4 5 6 7 8 9 无效 无效 无效 无效 无效 无效
NBCD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
5421BCD 0 1 2 3 4 无效 无效 无效 5 6 7 8 9 无效 无效 无效
2421BCD 0 1 2 3 4 无效 无效 无效 无效 无效 无效 5 6 7 8 9
余 3 码 无效 无效 无效 0 1 2 3 4 5 6 7 8 9 无效 无效 无效
余 6 码 无效 无效 无效 无效 无效 无效 0 1 2 3 4 5 6 7 8 9


数的内部表示
十进制数的二进制编码 BCD 码Gray 码奇偶校验码 、 字符表示 -
整数的机器数 定点整数:无符号定点整数、有符号定点整数 定点数(有符号:原码反码补码移码
小数的机器数 定点小数
浮点数IEEE 754 浮点数
记数系统
位值制
记数法
进位制记数法/标准位值制记数法(进制) 二进制八进制十进制十六进制、……
非标准
位值制
记数法
符号数字
进位制记数法
平衡进位制记数法
(平衡进制)
平衡三进制、……
双射进位制记数法
(双射进制)
双射十进制双射二十六进制、……
位权是幂
但基数不是自然数
(非自然数进制)
[math]\displaystyle{ -2 }[/math][math]\displaystyle{ -4 }[/math] 、……
[math]\displaystyle{ \sqrt{2} }[/math][math]\displaystyle{ \sqrt{3} }[/math][math]\displaystyle{ \sqrt[12]{2} }[/math] 、……
[math]\displaystyle{ 2i }[/math][math]\displaystyle{ \sqrt[4]{2}i }[/math][math]\displaystyle{ 2\omega }[/math][math]\displaystyle{ \sqrt[3]{2}\omega }[/math][math]\displaystyle{ -1\pm i }[/math] 、……
位权不是幂 存在基数
混合进制
二五混合进制阶乘进制、……
广义位值制记数法 [math]\displaystyle{ p }[/math]-进数
质数记数法、……
符值制记数法 (双射)一进制罗马记数法希腊记数法、……
  1. 全称为 binary-coded decimal ,标准译为二进制编码的十进制二-十进制编码,一般也称二进码十进数,全称只用于解释这个词语,通常使用中只使用缩写。

Advertising: