收藏 分销(赏)

BCD码进制转进制表格工具说明.doc

上传人:人****来 文档编号:9698732 上传时间:2025-04-03 格式:DOC 页数:4 大小:31.54KB 下载积分:5 金币
下载 相关 举报
BCD码进制转进制表格工具说明.doc_第1页
第1页 / 共4页
BCD码进制转进制表格工具说明.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
BCD码 (二 ─ 十进制码) 在一些数字系统中,如电子计算机和数字式仪器中,往往采用二进制码表达十进制数。通常,把用一组四位二进制码来表达一位十进制数的编码方法称作二─十进制码,亦称BCD码(Binary Code Decimal)。 4位二进制码共有16种组合,可从中任取10种组合来表达0~9这10个数。根据不同的选取方法,可以编制出很多种BCD码,如8421码,5421码,2421码,5211码和余3码。表B1101列出了这几种BCD码,其中的8421 BCD码最为常用。 由于每一组4位二进制码只代表一位十进制数,因而n位十进制数就得用n组4位二进制码表达。 【例1110】把十进制数369.74编成8421 BCD码。 解: 3 6 9 7 4 ↓ ↓ ↓ ↓ ↓ 0011 0110 1001 0111 0100 ∴(369.74)10=(0011 0110 1001. 0111 0100)BCD 表B1101 常用BCD编码表 编码类型 十进制数 8421码 5421码 2421码 5211码 余3码 0 0000 0000 0000 0000 0000 1 0001 0001 0001 0001 0100 2 0010 0010 0010 0100 0101 3 0011 0011 0011 0101 0110 4 0100 0100 0100 0111 0111 5 0101 1000 0101 1000 1000 6 0110 1001 0110 1001 1001 7 0111 1010 0111 1100 1010 8 1000 1011 1110 1101 1011 9 1001 1100 1111 1111 1100 权 8421 5421 2421 5211 BCD码转化 结识BCD编码 BCD编码是一种数字压缩存储编码,大家都知道一个字节有8个位,而数字0到9最多只需要使用4个位,假如用一个字节来存储一个数字相对就会有一定的浪费,特别是在传输过程中,由此人们就想出了压缩的办法,于是BCD编码就产生了。 BCD编码将一个字节的8个位拆提成高4位和低4位两个部分,也就是说一个字节能存储两个数字。所以BCD的编码过程就是将数字压缩的过程,将两个字节的数字压缩成一个字节。反之,解码就是把一个字节的数字拆分为两个数字单独存放(大部分的解决都是按字节解决的)。 示例: 编码过程,将数字69进行BCD编码(注:BCD编码低位在前,后面将不再注释)。 1. 将6,9分别转换成二进制表达:6(00000110)9(00001001),大家可以看到,最大的数字9也只要4个位,在传输过程中白白浪费了4个位; 2.将69合并为一个字节,分别取6,9二进制编码的低4位,按照低位在前的原则,将9的低四位放前面6的低四位放后面得出新的字节二进制编码是10010110; 3.完毕编码过程,69的BCD编码结果为10010110。 解码过程:将69的BCD码10010110进行解码。 1.将10010110的高4位与低4位拆分开,得到两个二进制数1001和0110; 2.分别将1001和0110的前面补充4位0000得到两个8位的二进制数00001001,00000110; 3.由于编码时低位在前,所以我们将两个二进制数编排顺序为00000110 ; 4.将二进制数转换为十进制得出解码结果为69(对的解码)。 PB中如何对BCD码进行解码 大家知道在PB中有二进制类型的变量blob,但要无法按位操作,那么我们如何进行BCD编码的数字进行解码呢? 我想大家都会不约而同的想到ASCII码,没错,就是她。ASCII就是数字和字符在计算机中存储的的值,她在PB中给我们呈现的并不是01组成的二进制数而是十进制数值。 BCD解码需要将一个字节的高4位和低4位进行拆分,那么我们怎么来使用十进制的ASCII编码做到呢? 由于PB不提供位运算所以我们只能自己写函数来做些简朴的解决了,那又如何解决呢? 方法一:我们写函数将十进制的ASCII(单字节)转化为二进制的字符串,当然,如此一来你还要写一个将二进制字符串转换为10进制数字的函数,有爱好的朋友可以尝试一下。 方法二:在我上次写的内容中已经提到了,就是借助十六进制来完毕转换。大家仔细研究不难发现十六进制表达等同于将一个字节的内容高4位和低4位分别转换为十进制,假如不信你可以自己验算一下。这样我们就只需要写一个转换函数了,将十进制数转换为十六进制字符串。转换后将十六串的两个字符位置对换(由于编码的时候低位在前),然后直接将这个串强制转换为数值型就得到了解码后的数值。(注:后面有一转换函数是网上一网友所写) 有了解码方法我们在读BCD码的地磅数据的时候就很容易解决了,由于我上次写过解决过程这里我只简朴描述一下: 1.用二进制类型blob将串口(现在有的用usb口)的数据读出来; 2.将blob强制转换为string,这样就把二进制流按8位存储格式编码了,也就是说BCD码在这个string中,但是是压缩格式; 3.将string的每个字节都分割开来,然后分别译为ASCII编码,PB中有函数ASC; 4.根据具体设备出厂参数辨认string中状态位,校验位,数字位等的位置; 5.找到数字位进行BCD解码,方法如上; 6.完毕解码,得到称量数据。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服