BCD 码全称 Binary Coded Decimal,中文叫做二一十进制编码,它是用 4 位二进制数,来表示 1 位十进制数字 0 到 9 的编码方式,简单来说就是把每一位十进制数字,单独转换成对应的 4 位二进制,十进制有十个数码,所以只用 4 位二进制里面的 0000 到 1001 这十个组合,1010 到 1111 这六个编码属于无效码,不能使用,BCD 码主要应用在数字电路 单片机 计算器这类需要直接处理十进制数字的设备,优势是人机读数转换直观,不需要额外换算,缺点是编码利用率不如纯二进制,同样数字占用的二进制位数会更多。
编码对照表
表格
| 十进制数字 | 8421 BCD 码 |
|---|---|
| 0 | 0000 |
| 1 | 0001 |
| 2 | 0010 |
| 3 | 0011 |
| 4 | 0100 |
| 5 | 0101 |
| 6 | 0110 |
| 7 | 0111 |
| 8 | 1000 |
| 9 | 1001 |
核心要点说明
第一 最常用的 BCD 码是 8421 BCD 码,4 位二进制每一位权值从高到低是 8 4 2 1,这也是教材最常考的 BCD 码类型。
第二 编码规则是一位十进制对应一组 4 位二进制,比如十进制数 56,BCD 码就是 0101 0110,十位 5 是 0101,个位 6 是 0110,分开编码,不是把 56 整体转成二进制。
第三 BCD 码和普通二进制不一样,普通二进制可以使用全部 4 位 16 种组合,BCD 码只保留 0 到 9 对应的十种组合,1010 1011 1100 1101 1110 1111 属于非法编码。
第四 BCD 码做加减运算的时候,如果结果大于 9,需要做加 6 修正,这是 BCD 运算很重要的特点。
编码转换示例
十进制数字 27,转换成 8421BCD 码:
2 → 0010
7 → 0111
最终 BCD 编码:0010 0111
相关 FAQ
问题 1 BCD 码的定义 是不是就是普通二进制
回答 1 BCD 码的定义不是普通二进制,BCD 是一位十进制单独用 4 位二进制表示,普通二进制是整个数字整体换算,编码方式不一样。
问题 2 BCD 码的定义 4 位为什么会有无效码
回答 2 BCD 码的定义里面十进制只有 0 到 9 十个数字,4 位二进制一共有 16 种组合,超出 9 的六个组合没有对应的十进制数字,所以是无效码。
问题 3 BCD 码的定义 除了 8421 还有其他 BCD 码吗
回答 3 BCD 码的定义广义上属于二一十进制编码,除 8421 之外还有余 3 码 2421 码等其他 BCD 编码,最基础考试一般默认 8421BCD。
免责申明
本文内容为计算机基础原理科普,属于数字电路基础知识讲解,仅供学习参考。


