任意进制(2进制~16进制)转十进制(0~2147483647)。

#include <stdio.h>
#include <string.h>

void main() {
    int res = 0, radix, i, k = 1;
    char num[32], table[] = "0123456789ABCDEF";
    printf("Please enter the value to be converted:");
    scanf("%s", &num);
    printf("Please enter the radix to be converted:");
    scanf("%d", &radix);
    for (i = strlen(num) - 1; i >= 0; i--) {
        res += (strchr(table, num[i]) - table) * k;
        k *= radix;
    }
    printf("Result:%d", res);
}
发布了139 篇原创文章 · 获赞 4 · 访问量 93万+

猜你喜欢

转载自blog.csdn.net/qq_38490457/article/details/104739340