BCD编码,8421,余3,2421,5211,余3循环码
发布时间:2023-07-23 12:16:41 作者:数理模型王 浏览量:805
我们日常生活中习惯于使用十进制数字,所以当我们用高级计算机编程语言编写程序时也习惯于使用十进制数字。但是计算机、单片机或嵌入式系统等硬件设备只能识别二进制的机器语言,所以当我们用高级程序语言写好代码后,需要用各种特定的编译软件将高级程序语言(例如C语言)编译为机器语言,其中的十进制数字就需要编译为二进制数字。用二进制编码表示十进制数字被称为二进制编码十进制,用英文写作为Binary Coded Decimal,首字母缩写后简写为BCD,所以也通常被称为BCD码。
BCD编码采用4位二进制数字表示一位十进制数字,十进制数制中0~9共10个数字,但对4位二进制数进行组合可以组合出16种代码,所以肯定有6种编码是冗余的。下面分布介绍8421码、余3码、2421码、5211码和余3循环码的编码规则。
8421码,是最常用的二进制编码,4位二进制数字中的1都是代表一个固定数值,把每一位的1所代表的十进制数加起来,得到的结果就是这4位二进制数字所代表的十进制数码。4位数字从左到右每一位的1分别表示8(2的3次幂),4(2的2次幂),2(2的1次幂),1(2的0次幂),所以把这种编码方式叫做8421码,下表为十进制数与8421码的一一对照。
余3码,是在8421码的基础上加十进制数3(二进制数0011)形成的一种无权重码,因为它的每一个码都比所对应8421码多3,所以叫做余3码,下表为十进制数与余3码的一一对照。余3码是一种9的自补代码,例如0和9,1和8,2和7,3和6,4和5的余3码的每一位都是严格互补的。
2421码,是一种有权码(8421码也是一种有权码,8421码从左到右,第1-4位的1代表的权重分别为8、4、2、1),2421码从左到右,第1-4位的1代表的权重分别为2、4、2、1。将4位2421码4位数字对应的权重相加即可计算出其所对应的十进制数,下表为十进制数与2421码的一一对照。2421码是一种9的自补代码,例如0和9,1和8,2和7,3和6,4和5的余3码的每一位都是严格互补的。
5211码,是另一种有权代码,5211码从左到右,第1-4位的1代表的权重分别为5、2、1、1,下表为十进制数与5211码的一一对照。
余3循环码,是一种权重变化的码,每一位的1不代表固定的数值,十进制数字0-9,相邻两数字对应的相邻代码之间只有一位的状态不同。余3循环码是在余3码的基础上取异或后得到的。求余3循环码时,从左到右,第一位1与余3码在同一位,从余3码的第二位开始与前一位进行异或运算,可求得余3循环码在该位的值。异或(xor)运算是一个数学逻辑运算,例如:如果x、y两个变量的值不相同,则异或的结果为1。如果x、y两个变量的值相同,异或的结果为0。下表为十进制数与余3循环码的一一对照。
收藏