您的位置:首页 > 其它

将任意进制(2~36)的数转换为10进制,参数k=16就是16进制转10进制

2017-01-10 20:59 453 查看
//将任意进制(2~36)的数转换为10进制,参数k=16就是16进制转10进制
/*将k进制转换为10进制 */
int atoD(char *str, int k)
{
int num = 0;
while(*str != '\0')
{
char ch = *str;
if(ch>='0' && ch<='9')
if((ch-'0')<k)
num = num*k+ch-'0';
if(ch>='a' && ch<='z')
if((ch-'a'+10)<k)
num = num*k+10+ch-'a';
if(ch>='A' && ch<='Z')
if((ch-'A'+10)<k)
num = num*k+10+ch-'A';
str++;
}
return num;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: