10进制整型转换成16进制显示的字符串
原文出处:《十进制数转为十六进制字符串》
本文修改了以上原文的代码,修正了[0-16]区间的10进制数转换成16进制数时无法正确转换的问题。
代码如下: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
char Hexadecimal_Code[]="0123456789ABCDEF";
char str_Temp[10];
char *Decimal_To_Hexadecimal_String(int Decimal_Data)
{
int High,Low,i=0;
if(Decimal_Data <= 0 || Decimal_Data > 255)
exit(0);
High=Decimal_Data >> 4;
Low=Decimal_Data & 15;
str_Temp[i++]=Hexadecimal_Code[High];
str_Temp[i++]=Hexadecimal_Code[Low];
str_Temp[i]='\0';
return str_Temp;
}
int main()
{
printf("%s\n",Decimal_To_Hexadecimal_String(5));
return 0;
}