本帖最后由 QuakeGod 于 2014-2-17 23:21 编辑
那个不叫转换成十进制,可以转换成BDC格式。
或者转换成字符串,一个printf就解决了。
转换成BDC格式的话,如果用51汇编,可以用DA指令,就是十进制加法调整,只要几次加法和就可以了,不需要昂贵的除法。
附一小段51汇编程序
bintobcd16:
;in, r2,r3
;out r4,r5,r6
clr a
mov r4,a
mov r5,a
mov r6,a
mov r7,#16
bintobcd16re1:
mov a,r2
rlc a
mov r2,a
mov a,r3
rlc a
mov r3,a
mov a,r4
addc a,r4
da a
mov r4,a
mov a,r5
addc a,r5
da a
mov r5,a
mov a,r6
addc a,r6
da a
mov r6,a
djnz r7,bintobcd16re1
ret
|