//将任意进制(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;
}将任意进制(2~36)的数转换为10进制,参数k=16就是16进制转10进制
最新推荐文章于 2024-08-30 17:15:57 发布
本文介绍了一个实用的函数,用于将任意进制(2到36)的数字字符串转换成对应的十进制数值。该函数支持从十六进制到其他各种进制的转换,并通过解析字符并映射到相应的数值来实现这一过程。
225

被折叠的 条评论
为什么被折叠?



