Chinaunix

标题: 十进制数转化为相应十六进制数字符串的办法 [打印本页]

作者: chinaunix_lb    时间: 2008-12-11 01:01
标题: 十进制数转化为相应十六进制数字符串的办法
十进制数转化为相应十六进制数字符串的办法
第一种是使用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




    欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2