PB中读取地磅BCD解码PB中读取地磅BCD解码

PB中读取地磅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 000010001;

4.       将二进制数转换为十进制得出解码结果为69(正确解码)。

PB中如何对BCD码进行解码
大家知道在PB中有二进制类型的变量blob,但要无法按位操作,那么我们如何进行BCD编码的数字进行解码呢?

我想大家都会不约而同的想到ASCII码,没错,就是她。ASCII就是数字和字符在计算机中存储的的值,她在PB中给我们呈现的并不是01组成的二进制数而是十进制数值。

BCD解码需要将一个字节的高4位和低4位进行拆分,那么我们怎么来使用十进制的ASCII编码做到呢?
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值