Преобразование числа из одного основания в другое в C

#include < stdio .h=""> 
long convertInBase10 (long n, int base)
{
long quotient = n / 10;
остаток = n % 10;
if (частное == 0)
возвращается return;
else
return convertingBase10 (частное, основание) * основание + остаток;
}
long convertEnBase2 (long n, int base)
{
long quotient = n / 2;
остаток = n % 2;
if (частное == 0)
возвращается return;
else
return convertEnBase2 (частное, основание) * основание + остаток;
}

long convertInBase4 (long n, int base)
{
long quotient = n / 4;
остаток = n % 4;
if (частное == 0)
возвращается return;
else
return convertenBase4 (частное, основание) * основание + остаток;
}

long convertInBase8 (long n, int base)
{
long quotient = n / 8;
длинный остаток = n % 8;
if (частное == 0)
возвращается return;
else
return convertenBase8 (частное, основание) * основание + остаток;
}

long convertInBase16 (long n, int base)
{
long quotient = n / 16;
длинный остаток = n % 16;
if (частное == 0)
возвращается return;
else
return convertingBase16 (частное, основание) * основание + остаток;
}

int main() {
long n = 17;
int base = 10;
//Десятичная --> base(2,4,8,16)
printf ("%ld в основание %2d = %ld в основание 2\n",n, base, преобразовать в Base2 (n, base);
printf ("%ld в основание %2d = %ld в основание 4\n",n, base, преобразовать в Base4 (n, base);
printf ("%ld в основание %2d = %ld в основание 8\n",n, base, convert в Base8 (n, base) );
printf ("%ld в основание %2d = %ld в основание 16\n",n, base, convert toBase16 (n, base);

//Двоичный --> Десятичная дробь
n = 1010;
= 2;
printf ("%ld в основание %2d = %ld в основание 10\n",n, base, преобразовать в Base10 (n, base);

//шестнадцатеричный --> Десятичная дробь
n = 124;
= 16;
printf ("%ld в основание %2d = %ld в основание 10\n",n, base, преобразовать в Base10 (n, base);

//основание 8 --> бинарный
n = 12;
= 8;
printf ("%ld в основание %2d = %ld в основание 10\n",n, base, преобразовать в Base10 (n, base);

возвращаем 0;
}