Forum: Compiler & IDEs pointer zu unsigned int konvertieren


von MArio EDUARDO (Gast)


Lesenswert?

ich möchte bei einem Hex Dump am Anfang einer Zeile die zugehörige 
Adresse ausgeben, also einen "unsigned char *p". Wie konvertiert man 
diesen "auf die feine englische Art" in einen "unsigned int" bzwdann in 
2 bytes, sodass der GCC nicht meckert? Über einen void typ oder einen 
cast ? bin jetzt ein wenig überrrrforrrdert :-)

Mario

von MArio EDUARDO (Gast)


Lesenswert?

DumpByte ( (u08)((u16)Out_Byte>>8)   ) ;    // zuerst den höheren  Teil 
der Adresse ausgeben
DumpByte ( (u08)((u16)Out_Byte&0xff) ) ;    // dann   den niederen Teil 
der Adresse ausgeben

das funkt ohne gemozze, ist das die feine Art ?

Mario

von MArio EDUARDO (Gast)


Lesenswert?

MArio EDUARDO schrieb:
> DumpByte ( (u08)((u16)Adresse>>8)   ) ;    // zuerst den höheren  Teil
> der Adresse ausgeben
> DumpByte ( (u08)((u16)Adresse&0xff) ) ;    // dann   den niederen Teil
> der Adresse ausgeben
>
> das funkt ohne gemozze, ist das die feine Art ?
>
> Mario

von troll (Gast)


Lesenswert?

MArio EDUARDO schrieb:
> ich möchte bei einem Hex Dump am Anfang einer Zeile die zugehörige
> Adresse ausgeben
mit printf? Dann brauchst du "%p".

von MArio EDUARDO (Gast)


Lesenswert?

Printf hab ich nicht, ist alles zu Fuß implementiert. Printf ist mir zu 
groß und unübersichtlich. Aber danke für den Tip!

MArio

von Hmm (Gast)


Lesenswert?

Nun, es würde sich vielleicht dennoch lohnen wie printf mit %p für Deine 
Maschine implementiert ist und das nachzubauen.

von Coder (Gast)


Lesenswert?

Du weist aber genau, dass bei deinem Controller/Prozessor ein Ptr 16-Bit 
hat?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.