Hexa --> Dezimal

yidaki

Erfahrenes Mitglied
Hi..

ich möchte über tastatureingabe einen wert einlesen (HEXADEZIMAL)
und diesen in dezimal umrechnen. Mein problem, ich weiss nicht
ob ich das quellsystem als int oder char[] einlesen soll.

gruß
 
Mmmh, ist schwierig
Lese es als char[] ein und wandle es dann um:
Code:
int hex(char c)
{
 if((c >= '0') && (c <= '9'))
  return c - '0';
 else if((c >= 'A') && (c <= 'F'))
  return c - 'A' + 10;
 else if((c >= 'a') && (c <= 'f'))
  return c - 'a' + 10;
 else
 return 0;
}
char buf[256];
scanf("%s", buf);
int zahl;
for(int i=strlen(buf);i;i--)
 zahl += pow(16, i-1) * hex(buf[i]);
dürfte
 
Zurück