BCD码

499 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

含义:

BCD码可分为有权码和无权码两类:有权BCD码有8421码、2421码、5421码,其中8421码是最常用的;无权BCD码有余3码、格雷码等。

使用二进制来进行编码的,十进制的表示方法,BCD码中每四个二进制位会对应一个十进制的数,四个二进制数会有16个数对应,我们选出0-9制定不一样的映射方式

格式 计算机中的BCD码,经常使用的有两种格式,即分离BCD码,组合BCD码。

8421码

映射关系

image.png

8421码的映射关系

最高只能映射到9

image.png

人工转换

把13拆成1和3,然后分别用8421表示他们

image.png

机器转换8421

如果两个数字相加,落在了非法区间内需要+6进行修正。高位补0,低位直接取

四位数字只能表述0-15,但是对于10-15是不合法的,这时我们+6(0110)后,会进1,那么余下的数字就处于合法区间了,就是我们的8421码,对于进位的那一部分我们补0即可

image.png

image.png

注意:若相加结果再合法范围内,则无需修正

2421码

有权值对应,分别为2421

防止编码时出现歧义:

  • 0-4是0开头
  • 5-9是1开头

image.png

小结

8421码

  • 每4个二进制位对应一个十进制位(有6个冗余状态
  • 8、4、2、1分别对应每一位的权值
  • ooo01001分别对应O9,进行加法后若超出该范围,则需+0110进行修正(强制向高位进1)

余3码

  • 8421码+(0011)
  • 2、4、2、1分别对应每一位的权值

2421码 表示O4时最高位为0,表示59时最高位为1