它用壹個8位(壹個字節)的二進制數來表示字符(因為計算機用二進制數來運算), 其中0~9對應的二進制數為0x30~0x39,
A~F對應的二進制數為0x41~0x46 (小寫a~f為0x61~0x66).
2. 將16進制數轉換為ASCII碼就是將0~F轉換為字符"0"~"F" (在計算機存儲的表示為0x30~0x46). 轉換的算法可以多種, 比較簡單的算法如下:
a) 定義壹個數組
const byte ASCII[]={0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46}; // byte 為壹個字節的定義
假設i為存儲單個16進制的數字, 則用ASCII[i]即可獲得相應的ASCII碼
b) 也可以用計算的方式
假設i中存儲單個16進制的數字,
if (i > 9)
{
ascii = 0x40 + (i - 9); // A~F
}
else
{
ascii = 0x30 + i; // 0~9
}
3. 多位數的16進制數可以通過逐位分解實現, 例如0x3AD0, 可以分解為3, A, D, 0轉換. 每位16進制數占半個字節, 所以很容易利用移位(連續左移4bits)進行分離.