免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1233 | 回复: 0
打印 上一主题 下一主题

十进制数转化为相应十六进制数字符串的办法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 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
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP