Hex werte 2stellig ausgeben

Gast #26283
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
Gast #26284
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);
}
Gast #26285
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
Gast #26287
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.