將16進位制轉化為字串
//功能:將16進位制轉換成字串 //時間:2018年9月13日
#include "stdio.h" #include "string.h" char data[5]={0x12,0xfe,0x5b}; char input[10]; int main(void) { int i, b,c; int j=0; for(i=0;i<strlen(data);i++) { if((data[i]&0xf0)<=0x90) //取出16進位制的高位,判斷是否小於等於9 { input[j]=((data[i]&0xf0)>>4)-0x00+48; //得出高位的AISSIC碼值 } else //大於9,即a~f input[j]=((data[i]&0xf0)>>4)-0x0a+97; if((data[i]&0x0f)<=0x09) //取出16進位制的低位 { input[j+1]=(data[i]&0x0f)-0x00+48; } else input[j+1]=(data[i]&0x0f)-0x0a+97; j+=2; } printf("%s",input); }