今天发现一个十进制转BCD码的好方法,赶紧记录一下以备后用
举例:
要把一个3位的十进制数635转成BCD码(H)表示:
635(D) / 100(D) = 6(D) 6 * 16 2 = 1536(D)
35 / 10 = 3 3 * 16 1 = 48(D)
5 / 1 = 5 5 * 16 0 = 5(D)
-> 1536 + 48 +5 = 1589(D) = 635(H)
如上面的演算步骤,转换后的635已经是十六进制的BCD码表示了,不管是几位的十进制数,按照同样规律都可得出相应的BCD码形式,要注意演算过程中存放数据的变量边界,原来的数据类型在计算过程中可能会不够用