一次说清楚BCD编码

您所在的位置:网站首页 bcd码是指每位十进制数用4位二进制数码表示 一次说清楚BCD编码

一次说清楚BCD编码

2024-07-15 00:24| 来源: 网络整理| 查看: 265

背景

在银行报文中,有很多用到BCD编码的地方,BCD编码和常见的二进制编码或者ASCII编码又有区别,所以很容易搞错,弄错概念,下面笔者就一次把BCD编码讲清楚。  

一,概念

1,BCD编码,英文全称是Binary-Coded Decimal‎,中文名称是二进制编码的十进制数,也就是用4位二进制数来表示1位十进制数中的0~9这10个数码。

2,只有10个码,分别对应0,1,2,3,4,5,6,7,8,9 这10个数字。 这是重点,千万不要弄复杂了。

3,因为只有0到9这10个数字,所以这个BCD编码里一定不会出现A,B,C,D,E,F这些16进制才有的字符。

4,BCD编码是二进制的数字编码形式,用二进制编码表示的十进制代码,所以编码里只有0和1。

5,BCD编码是4位二进制数来表示10个十进制数,所以都是4位,就是都是4位0和1组成的编码。

二,类型

因为用4位0或者1组成代码组合有16种,但是用来表示10个数字,显然就多了,所以会有很多种组合方式,也就是有很多种BCD编码的子类型,比如8421码,2421码,5421码,余3码,余3循环码。

1,有权码

所谓有权码,就是说4位二进制码的每一位,都对应一个十进制的数值,比如8421码种,从右往左,分别对应是1,2,4,8这4个数字,如果某一位是1,就表示有这个数字,最终把这4个位上数字加起来,就表示整个8421二进制码对应的十进制数了,比如1001就是9了。

8421码

从高位到低位的权值分别为8、4、2、1 。 只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。

5421码

从高位到低位的权值分别为5、4、2、1。编码方案不是惟一的,有些十进制数,会有两个码。比如1000和0101都是表示十进制数5 。

2421码

从高位到低位的权值分别为2、4、2、1。编码方案不是惟一的,有些十进制数,会有两个码。比如1100和0110都是表示十进制数6。

2,无权码

所谓无权码,就是说4位二进制数的每一位,没有对应的数值,而是整个编码直接对应一个数字。

余3码

在8421码的基础上,加上0011(即十进制数字3),形成的码。常用于BCD码的运算电路中。

余3循环码

相邻编码只有一位变化。

三,实例

注意:5421码和2421码都有几个数字有两个码

数值8421码5421码2421码余3码余3循环码000000000000000110010100010001000101000110200100010001001010111300110011001101100101401000100

0100

1010

01110100501011000 01011011 01011000110060110

0110

1001

1100 011010011101701111010 0111

1101

0111

10101111810001011111010111110910011100111111001010 四,补充 压缩BCD码和非压缩BCD码

压缩BCD码的每一位十进制数用4位二进制表示,一个字节(8位)表示两位十进制数。

例如:10010110表示十进制数96。

非压缩BCD码用1个字节表示一位十进制数,高四位总是0000,低4位的0000~1001表示0~9。

例如:00001000表示十进制数8.

总结

第一次接触的时候,真心很懵,但当我看到只有10个码的时候,觉得不过如此。。。

人啊,就是这样,对新东西畏惧,对熟悉的东西缺失尊重!

码字不易,记得点赞关注哟!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3