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

来源:互联网 发布:c语言1到100的奇数和 编辑:程序博客网 时间:2024/05/17 01:30
//将任意进制(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;}

0 1
原创粉丝点击