- 论坛徽章:
- 0
|
十进制数转化为相应十六进制数字符串的办法
第一种是使用itoa函数
函数原型如下
[color="#008000"]char * itoa ( int value, char * str, int base );value是要转化的数字,str是转化后的字符串存储的位置,base是进制数一个小的示例程序int main (){ int i; char buffer [33]; printf ("Enter a number: "); scanf ("%d",&i); itoa (i,buffer,10); printf ("decimal: %s\n",buffer); itoa (i,buffer,16); printf ("hexadecimal: %s\n",buffer); itoa (i,buffer,2); printf ("binary: %s\n",buffer); return 0;}但是这个函数不是标准C函数,只被一些C++的编译器支持。在Linux中也不能使用。另外一种方法
sprintf
(str,"%d",value) converts to decimal base.
sprintf
(str,"%x",value) converts to hexadecimal base.
sprintf
(str,"%o",value) converts to octal base.str是转化存储的位置,value是要转化的数字。上面三个函数分别是10进制,16进制和8进制的转化。
这种方法比较好,可以在Linux下使用。
[color="#008000"]
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/83134/showart_1713426.html |
|