用查表的方法將一位十六進位制數轉換成相應的ASCII碼

2021-04-18 12:49:40 字數 1033 閱讀 3862

1樓:藏風之處

我教你。

mov ah,41h

int 21

你去看看輸出了什麼。

很簡單 去尋找ascll表

每個字元對應一個16進位制的值。

只要把他輸出就是字元。懂了嗎?

授人以魚不如授人以漁。

2樓:匿名使用者

16進位制數   二進位制數

f             00001111e             000011109             00001001

如何把一位16進位制的數轉換成對應的ascii碼 2

3樓:小米地瓜來

補充:之前第一段話說的有問題,所以修改了下,如下:(另外提交的時候沒注意,第一個兄弟的回答已經是正確的了^_^)

主要思想是0~9轉為對應的ascii碼時加30h,而a,b,c,d,e,f則加37h,比30h多出來的7h就是通過adc(多加了cf的01h)以及daa(多加了06h)實現的。

先說對0~9的,以5為例,

and al,0fh

add al,90h

變為95h

daa這個時候的daa,由於95h低位,高位都小於9,且無進位,所以不變

adc al,40h

95h + 40h + cf = d5h

daa低位不變,高位大於9,所以加60h,變為35h,且cf = 1

最終結果為35h,即字元5對應的ascii碼53.

然後是a~f,以c為例:

and al,0fh

add al,90h

變為9ch

daa這個時候的daa,先看低位,由於低位是c,大於9,所以加06h,結果變為a2h,再看高位,高位a,大於9,所以加60h,變為02h,cf = 1(有進位)

adc al,40h

adc操作,02h + 40h + cf = 43h

daa此時43h低高位都小於9,所以無變化。最後結果43h,也即c的ascii碼67

將十六進位制2A轉換為八進位制數,將八進位制數35轉換為二進位制數

先轉成二進位制,再轉8,2a轉00101010再取3位轉8進位制,得52。35轉二進位制得011101 不知道是什麼語言?到網上一搜就有了!很簡單的 將二進位制數11101010011.1011b轉換為八進位制數 將十六進位制數5ce.6ah轉換為二進位制 二進位制 八進位制 十 進位制 十六進位制...

十六進位制裡的字母什麼意思十六進位制數裡面的字母代表什麼?

十六進位制 抄hexadecimal 是計算機中數襲據的一種表示方法。bai它的規du則是 逢十六進一 zhi十六進位制數具有下列兩dao個特點 英文字母a,b,c,d,e,f分別表示數字10 15。計數到f後,再增加1個,就進位。十六進位制數是計算機常用的一種計數方法,它可以彌補二進位制數書寫位數...

C中如何將十六進位制數轉換為十進位制數

用字串儲存要轉copy換的16進位制數,然後把一個一個字元轉換為10進位制樹.大致 如下 string hexa cin hexa int sum 0 for int i 0 i hexa.size i 補充 change 函式就是取一個字元,返回相應的整數就行了.用switch判斷選擇就ok了.對...