Quote:
Originally Posted by Medix
[Only registered and activated users can see links. Click Here To Register...]
und das ausgeben als hex zahl sollte ja kein problem sein sobald du den string als zahl vorliegend hast.
|
atoi ist keine Standardfunktion.
strtol ist schöner.
Aber du kannst es auch gleich mit std::cin und dem Operator std::hex als eine hexadezimale Zahl interpretieren.
Wie schon gefragt wurde: Warum postet ihr C oder gar Asm? :O
@Shadow:
1. Warum erwartest du nur ein Char? Damit kann man gerade mal Zahlen bis 255 in Hex umwandeln und hier geht es um Adressen.
2. Warum ist dein buf 5 chars groß? Für 255 in Hex bräuchtest du gerade mal 3 Chars. Du Speicherplatzverschwender!
3. Warum gibst du bitte wieder einen String zurück? :confused: Er einen String als Hex Zahl interpretieren und in eine int Variable speichern.
Quote:
//In IRGENTWASS steht: 1701EC5 (das 0x ist hierbei nicht dabei, aber ist auch völlig egal...)
//Stimmts?
|
In IRGENDWASS steht gar nichts, das ist eine int Variable. Da sind ein paar 1en und 0en drin, um genau zu sein 32.
Als hexadezimale Zahl interpretiert in einem String ausgegeben steht da (falls deine Umrechnung richtig ist) 1701EC5, ja. Ob ein 0x davor steht, hängt davon ab, ob die betreffende interpretierende Funktion es voranstellt oder nicht.
Quote:
|
return IntToHex(atoi(buf), 0);
|
Das ist absoluter Blödsinn. Es gibt keine Konvertierung von int zu Hex. Eine hex Zahl ist genau so mit einem int speicherbar.
Hex ist nur eine andere Art es darzustellen. Mich würde mal interessieren, wie deine IntToHex aussieht o.O