-2
编写程序将十进制数转换为十六进制。 要将十进制数转换为十六进制,我们可以找到16的最大幂数小于等于。 我们这样做是从1开始数N比较1如何将十进制数转换为十六进制而不使用写十六进制
If 1 < N we try 16
if 16 < N we try 256
,直到我们找到的最高功率。
I would keep the powers in an array like 1,10h, 100h, 1000h, up to 100000000h
然后我们把由连续分割
Ex convert 834 to hex
834/256 = 3 + r 78
78/16 = 4 + r 14
14/1 = E + r0
的十六进制数为34Eh
您可以让你回答没有,如果第一位是字母前导零,但0AB3h更好比AB3h。但是,您必须将h作为答案的最后部分
mov edx,offset msg
call writestring
call readint
mov tempt1,eax
div eax
.if(tempt<1)
mov eax,16
.elseif()
.else
.endif
ret
任何人都可以建议如何做到这一点。我只知道如何分配数字,但我怎样才能得到余数? – lhag
欢迎来到StackOverflow。这不是一个为我做的家庭作业网站。请给我们一些证据,证明你至少已经尝试过。 –
我已经添加了我的开始代码,但我迷路了。不知道下一步该怎么做。 – lhag