免费注册 查看新帖 |

Chinaunix

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

linux怎样把16进制转变10进制 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-02-05 12:23 |只看该作者 |倒序浏览
有没有库函数,谢谢.没有库函数有没有其它程序,谢谢!!!

论坛徽章:
0
2 [报告]
发表于 2005-02-05 13:18 |只看该作者

linux怎样把16进制转变10进制

假设 str_dec指针指向表示某个十进制数的字符串如"32",生成的十六进制形式的字符串("20"存储在str_hex数组中.

char *str_dec="32";
char str_hex[10];
sprintf(str_hex,"%x",atoi(str_dec));

论坛徽章:
0
3 [报告]
发表于 2005-02-05 14:38 |只看该作者

linux怎样把16进制转变10进制

不好意思,偶看反了.上面的是10进制转换成16进制的.下面的才是


int hex_c2d(char c)  
{
  if(c >;= 'a' && c <= 'f')
    return c-'a'+10;
  else if(c >;= '0' && c <= '9')
    return c-'0';
  else
    return -1;
}
main(int argc,char **argv)  // 16进制数由命令行参数提供
{
char *hex_str;
char *p;
char dec_str[10];     //存放转化的10进制数
int i;
int sum;
int w;
hex_str=argv[1];
p=hex_str+strlen(hex_str)-1;
for(w=1,sum=0;p >;= hex_str;p--) {
sum=sum + w * hex_c2d(*p);
w=w*16;
}
sprintf(dec_str,"%d",sum);
printf(dec_str);
}

论坛徽章:
0
4 [报告]
发表于 2005-02-06 11:36 |只看该作者

linux怎样把16进制转变10进制

我想楼主是指得从16进制字符串转到十进制字符串吧.

  1. void hex2dec(const char* hex_str, char* dec_str){
  2.        int a ;
  3.        sscanf(hex_str, "%x", &a);
  4.        sprintf(dec_str, "%d", a);
  5.        return;
  6. }
复制代码

论坛徽章:
0
5 [报告]
发表于 2005-02-06 11:55 |只看该作者

linux怎样把16进制转变10进制

[quote]原帖由 "unicorns"][/quote 发表:


faint
  

论坛徽章:
0
6 [报告]
发表于 2005-02-06 15:24 |只看该作者

linux怎样把16进制转变10进制

你改改这个函数吧
linux下我也用这个,没有给你修改后的版本
int HexToTen(const char * pHex)
    {
     DWORD dwHexNum=0;
     for (; *pHex!=0 ; pHex++)
     {
     dwHexNum *= 16;
     if ((*pHex>;='0') && (*pHex<='9'))
     dwHexNum += *pHex-'0';
     else if ((*pHex>;='a') && (*pHex<='f'))
     dwHexNum += *pHex-'a'+10;
     else if ((*pHex>;='A') && (*pHex<='F'))
     dwHexNum += *pHex-'A'+10;
     else
     -1;
     }
     return dwHexNum;
    }
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP