-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