hex-string -> int
-
Hallo,
gibt es eine Standardfuntkion, um strings, die hexzahlen enthalten in integer umzuwandeln?
Also nach dem Motto "a1" -> 17.
-
Cler schrieb:
Also nach dem Motto "a1" -> 17.
Äh, ich meinte nat. "11"->17
-
einfach ein "0x" vorne dran hängen und den string durch strtol jagen.
-
Wenn du als Basis 16 angibst, dann kannst du dir das "0x" davor sparen. Wenn du allerdings das "0x" davor hast bekommt er die Basis auch vonselber raus, wenn du keine angibst.
-
wenn man es selber schreiben will z.b. in der art
int hex2int(const char* s){ int rv=0; for(int i=0;i<strlen(s);++i) rv+=(int)((toupper(s[ i ])-(isdigit(s[ i ])?48:55)) * pow(16,strlen(s)-1-i)); return rv; }
-
Oder was noch schön einfach ist:
char hex[3] = "11"; int zahl; sscanf(hex, "%x", &zahl);