标题:
C语言经典算法之16进制10进制
[打印本页]
作者:
苹果也疯狂
时间:
2014-5-13 17:20
标题:
C语言经典算法之16进制10进制
自己写一个转换函数不就行了?
//
返回
16
进制字符串
s
对应的整数值,遇到任何一个非法字符都返回
-1
。
int HexToDec(char *s)
{
char*p = s;
//
空串返回
0
。
if(*p== '\0')
return0;
//
忽略开头的
'0'
字符
while(*p== '0')
p++;
intdec = 0;
charc;
//
循环直到字符串结束。
while(c= *p++)
{
//dec
乘
16
dec<<= 4;
//
数字字符。
if(c>= '0' && c <= '9')
{
dec+= c - '0';
continue;
}
//
小写
abcdef
。
if(c>= 'a' && c <= 'f')
{
dec+= c - 'a' + 10;
continue;
}
//
大写
ABCDEF
。
if(c>= 'A' && c <= 'F')
{
dec+= c - 'A' + 10;
continue;
}
//
没有从任何一个
if
语句中结束,说明遇到了非法字符。
return-1;
}
//
正常结束循环,返回
10
进制整数值。
returndec;
}
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0