Hallo Ich habe eine neue Version von Codevision. Bei der alten konnte ich mit der folgenden Zeile hex Werte 2stellig ausgeben: printf("%#.02X",i) wenn i=12 wurde 0C ausgegeben Jetzt wird daraus .02X Wenn ich printf("%X",i) benutze erhalte ich ein C Ich habe schon alles mögliche ausprobiert und komme nicht zum zuge.In der Anleitung von Codevision kann ich leider auch nichts finden. Weiß denn wer ein Rat????? Gruß Helge
Hallo Helge, wenns nicht geht, ist meist Handarbeit angesagt. Mit den beiden Routinen wird die Zahl in ein lesbares Hexformat gebracht. Kannst sie ja noch anpassen, verschönern und verbessern. Grüße Oliver // f ist Stringgroesse // reverse dreht den string um void reverse (Uint16 f, char s[]) { int c,i,j; for(i=0, j = f-1; i < j; i++, j--) { c = s[i]; s[i] = s[j]; s[j] = c; } } // n ist Zahl zum Umwandeln in Hex // s ist character-String // f ist Ausgabebreite void Uint16toHex (int n, char s[], Uint16 f) { Uint16 i, j; for (i=0; i < f; i++) { j = n % 16; s[i] = (j<10 ? j+'0':j+'A'-10); n /=16; } reverse(f,s); }
Hallo Oliver Danke Dir für den Tip.Ich werd es mal probieren.Ich find es aber irgendwie komisch das in einer neueren Version so etwas nicht mehr möglich sein soll.Mir gehts ja nur um die Ausgabe. Sie soll ja 2stellig erfolgen.Ich habe schon mit if und else etwas erstellt,aber meine Umrechnungsroutine fand dies nicht so gut if(k<=15) printf("0%X",k) else printf("%X",k) Gruß helge
Hmm.. probiers mal mit printf("%02x", i) so wärs im standard definiert
Hallo Das war ein guter Tip.Mit %02X gehts.So weit war ich auch schon mal,hab allerdings nur 2 geschrieben (ohne 0).Dank euch für die tips. Gruß helge
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.