(langsam wirds mĂĽhsam) 
ja fĂĽr mich auch 
wie schon mal gesagt ICH habe:
#include <stdio.h> 
void main() 
{ 
int summe=0; 
int basis,ziffer,zahl; 
printf("Geben Sie bitte Ihre Basis ein:\n"); 
scanf("%d",&basis); 
printf("Geben Sie bitte Ihre Zahl ein:\n"); 
scanf("%d",&zahl); 
while((zahl>0) 
{ 
ziffer=zahl%basis; 
printf("%d",ziffer); 
zahl=zahl/basis; 
} 
} 
//umwandeln einer zahl von dezimal in beliebig 
und eben siehe oben:
#include "stdafx.h" 
double umwandler(char *zahl, unsigned int basis); 
static unsigned int basedig(unsigned char dig, unsigned int basis) ; 
//basedig=funktion, die eine ziffer (char 0-9, a-z) als int (dezimal) zurĂĽckgibt. wobei mir gerade auffallt, daĂź der "base" parameter hier nicht verwendet wird. 
void main() 
{ 
float x; 
x = umwandler("-10.10", 16); 
printf("%f \n", x); 
} 
static unsigned int basedig(unsigned char dig, unsigned int basis) 
{ 
if (dig >= '0' && dig <= '9') 
return dig - '0'; 
else if (dig >= 'A' && dig <= 'Z') 
return dig - 'A' + 10; 
return -1; 
} 
double umwandler(char *zahl, unsigned int basis) 
{ 
/* zahl: string in form von zb "32fac2" */ 
/* base: 2 .. 36 */ 
unsigned int ret, dig; //dig=wert (0-35) der aktuell bearbeiteten ziffer 
double nc, fact, exp; //nc=Nachkommateil der Zahl,fact=Vorzeichen,exp=exponent wird zum durchdividieren der einzelnen stellen des nachkommateils gebraucht 
unsigned char *cp; //char pointer, damit wird der string von anfang bis ende zeichen fĂĽr zeichen durchgehatscht 
if (!zahl || basis < 2 || basis > 36) 
return -1; 
ret = 0; 
nc = 0; 
fact = 1; // Variable fĂĽr das Vorzeichen 
cp = (unsigned char *) zahl; 
/* fĂĽhrende spaces ĂĽberspringen */ 
while (*cp == ' ') 
cp++; 
if (*cp == '-') 
{ 
fact = -1; 
cp++; 
} 
while (*cp) 
{ 
dig = basedig(*cp, basis); 
if (dig == -1) 
break; /* konvertierung stoppt beim ersten ungĂĽltigen zeichen */ 
if (dig >= basis) 
break; /* konvertierung stoppt beim ersten ungĂĽltigen zeichen */ 
ret=ret*basis; 
ret=ret+dig; 
cp++; 
} 
if (*cp == '.') 
{ 
cp++; 
exp = basis; 
while (*cp) 
{ 
dig = basedig(*cp, basis); 
if (dig == -1) 
break; 
if (dig >= basis) 
break; 
nc += dig / exp; 
exp *= basis; 
cp++; 
} 
} 
return fact * (nc + ret); //gibt das endergebnis zurĂĽck, bestehend aus vorzeichen (fact), ganzzahliger anteil (ret) und nachkommateil (nc) 
}