十六進制HEX格式點變ASCLL格式

2011-10-13 4:40 am
如何十六進制HEX格式點變ASCLL格式??

回答 (3)

2011-10-13 5:34 am
✔ 最佳答案
首先,寫一個function,將一個nibble變成一個hex digit(即係四個bit,不過當佢係byte就得),
方法;檢測 n<10,TRUE: return n+ 0x30 FALSE: return n+0x41-10
註解;數字0的ASCII為 0x30,當數字到10時,要變成A,而A的ASCII為0x41
寫好第一個function後,寫正題,輸入一個byte,變成兩個hex digit。
方法,抽個byte的upper nibble,即係 b SHR 4,或者可以寫成 b / 16,(也可以寫成 (b div 4),睇下你乜語言。
註解;shr 4個位即係除16,意思一樣。取得upper nibble。
呼叫第一部份的function。得出hex digit的高位。
跟住,將個byte取走upper nibble,再呼叫第一部的function,得出第二個hex。
公式係 b and 0x0F,或者 (b and $0F),或者 (b % 16) ,或者 (b mod 16)
後記:如果你要四個hex digit,即係word2hex,咁可以先個word分成upper byte,lower byte再叫。

Good Luck
因為你冇講乜語言,無法詳細寫
另外係ASCII,唔係LL,information interchange的簡寫
2011-10-15 5:46 am
我完全5明001講咩!?
2011-10-13 6:00 am
冇呢樣嘢架,只有ASCII,ASCII唔係格式,係編碼,例如61hex="a",電腦見到61就會出個"a"字。

2011-10-12 22:01:25 補充:
http://zh.wikipedia.org/wiki/ASCII


收錄日期: 2021-04-13 18:18:08
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20111012000051KK00714

檢視 Wayback Machine 備份