基数转换器从 10 基数与递归 C



我尝试从 10 个基数转换任何数字基数。在我乘以两个数字后,基数相同,但函数应该是递归的。

    double convert(int number,int base)
{
    int digit = 1;
    double sum=0;
    int i=0;
    int figure;
    double end;
    if(base==10)
        return number;
    else
    {
        figure = (digit % (digit * 10) - number % digit) / digit;
        end=pow(base,i);
        sum+=figure*end;
        ++i;
        digit *= 10;
        convert(figure,base);
    }
return sum;
}

但我对其他感到困惑,它不起作用。我该如何解决它?有什么优惠吗?谢谢。。

例如

#include <stdio.h>
int convert(int number,int base){
    if(number == 0 || base==10)
        return number;
    return (number % base) + 10*convert(number / base, base);
}
int main () {
    int i;
    for(i=2;i<=10;++i)
        printf("%d is %d base(%d)n", 100, convert(100, i), i);
    return 0;
}
static string ToBase(int n, int @base)
    {
        Func<int, string, string> x = null;
        return (x = (i, j) => 
        {
            if (i == 0)
            {
                return j;
            }
            return x(i / @base, i % @base + j);
        })(n, string.Empty);
    }

相关内容

  • 没有找到相关文章

最新更新