您好,希望以下回答能帮助您
// 把int转换为hex字符串。
/*
32 : 20
48 : 30
988 : 3DC
102 : 66
255 : FF
65535 : FFFF
Press any key to continue
*/
#include
char *Dec2Hex(int data, char hex[]) {
int i,n,m;
char ch;
for(n = 0; data > 0; ++n) {
m = data % 16;
if(m > 9) hex[n] = m - 10 + 'A';
else hex[n] = m + '0';
data /= 16;
}
hex[n] = '\0';
for(i = 0; i < n/2; ++i) {
ch = hex[i];
hex[i] = hex[n - 1 - i];
hex[n - 1 - i] = ch;
}
return hex;
}
int main(void) {
int a[] = {65535,255,102,988,48,32};
int i,n = sizeof(a)/sizeof(a[0]);
char s[24];
for(i = n - 1; i >= 0; --i)
printf("%6d : %s\n",a[i],Dec2Hex(a[i],s));
printf("\n");
return 0;
}
如您还有疑问可继续追问。