|
- /* 將一段內(nèi)存數(shù)據(jù)轉(zhuǎn)換為十六進制格式的字符串,
- str-字符串指針, src-源數(shù)據(jù)地址, len-數(shù)據(jù)長度 */
- void MemToStr(unsigned char *str, unsigned char *src, unsigned char len)
- {
- unsigned char tmp;
- while (len--)
- {
- tmp = *src >> 4; //先取高 4 位
- if (tmp <= 9) //轉(zhuǎn)換為 0-9 或 A-F
- *str++ = tmp + '0';
- else
- *str++ = tmp - 10 + 'A';
- tmp = *src & 0x0F; //再取低 4 位
- if (tmp <= 9) //轉(zhuǎn)換為 0-9 或 A-F
- *str++ = tmp + '0';
- else
- *str++ = tmp - 10 + 'A';
- *str++ = ' '; //轉(zhuǎn)換完一個字節(jié)添加一個空格
- src++;
- }
- }
復(fù)制代碼 這是書上的一段代碼,目的是為了類型轉(zhuǎn)換為ascii后給1602用,現(xiàn)在比較疑惑的是,轉(zhuǎn)ascii,為什么要分高四位和低四位啊?
|
|