一次说清楚BCD编码 |
您所在的位置:网站首页 › bcd码是指每位十进制数用4位二进制数码表示 › 一次说清楚BCD编码 |
在银行报文中,有很多用到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循环码0000000000000001100101000100010001010001102001000100010010101113001100110011011001014010001000100 1010 01110100501011000 01011011 010110001100601100110 1001 1100 011010011101701111010 01111101 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 |