南昌市最大苹果专卖店:双字节二进制数转成三字节的非压缩BCD码的程序该怎么弄呢?

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 06:57:17
双字节二进制数转成三字节的非压缩BCD码的程序该怎么弄呢?
有很多双字节二进制数转成三字节的压缩BCD码的程序。现在就是不明白了,
怎么能实现三字节的非压缩BCD码呢?
知道的留个算法好不? 谢谢了。

BCD (Binary Coded Decimal) 就是二--十进制数。

双字节二进制数就是无符号16位二进制数,数值0到0xffff.
二--十进制数:
0 -- 0000, 1 -- 0001, 2 -- 0010, 3 -- 0011, 4 -- 0100
5 -- 0101, 6 -- 0110, 7 -- 0111, 8 -- 1000, 9 -- 1001

把 原数除十取余,就得个位数,个位数等于几,对照上面的0-9,你就有了最低的4位。

原数减掉刚得的余数,再除10,把商除十取余,就得十位数,十位数等于几,对照上面的0-9,你就有了第二个4位了。

按此法,可以得另几个4位。

然后对这些数用“左移”运算和加法,就得到非压缩BCD码。