如何处理三字节16进制数转换10进制数

2020-01-16 18:34发布

请教使用51汇编,如何处理     三字节16进制数转换10进制数,,网上找到了最多是双字节16转10进制,可是怎么改都不行 。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
xiakang
1楼-- · 2020-01-16 21:47
 精彩回答 2  元偷偷看……
devcang
2楼-- · 2020-01-16 23:34
转成10进制显示?

先说清楚,3字节是如何分配的?565、556、655哪种分配的,自己按位数去取、再转
hellojohn
3楼-- · 2020-01-17 04:11
你是想处理成BCD码吧? 这个有什么好转的, 先用c写, 编译后看汇编就行了。
dz20062008
4楼-- · 2020-01-17 05:48
本帖最后由 dz20062008 于 2014-3-3 00:48 编辑

谁能写个C的看看,看看汇编的编码量有多大!这难道就是传说的浮点运算?

楼主的三字节就是十六进制最大为FFF占八位的51单片机2字节存储,二进制的话就是00001111 11111111也是两字节,换成8421BCD码就痛苦了!最大24095 需要5字节。平时处理一字节的的十六进制也就是两位FF转8421BCD码的思路是用除法去加权。
例子如下:
HEXtoBCD:PUSH ACC
          PUSH B
          MOV A,TEMP_DATA
          MOV B,#100D
          DIV AB
          MOV R0,A
          MOV A,#10D
          XCH A,B
          DIV AB
          MOV R1,A
          MOV R2,B
          POP B
          POP ACC
          RET

当运算量超过一字节,也就是8421BCD码超过255时问题出来了,也就出现了浮点运算。除法去加权就行不通了。汇编算法就复杂了~让我们开开眼界见证C的牛×之处吧~

那位大虾上浮点酸菜:
PS:用51装(运行)酸菜(C代码加汇编代码)!
eduhf_123
5楼-- · 2020-01-17 10:18
nyzgj
6楼-- · 2020-01-17 14:36
 精彩回答 2  元偷偷看……

一周热门 更多>