c# printf ausgabe einer hex zahl mit -

Gast #1061338
Lesenswert?

Habe hier eine einfaches Programm. Dennoch stellt sich ein Problem. Ich 
würde gerne die eingegebene Dezimalzahl in Hex ausgeben. Dies ist kein 
Problem aber ich will die Zahl so darstellen.

00-00-00-00

Wie erreiche ich dies. Danke für eure Hilfe.

Freundliche Grüsse

Luca

printf("Geben Sie eine Ganzzahl ein.");

printf("\n\n\nGanzzahl:\t");
scanf("%d",&ganzzahl);

printf("Ausgabe:\t       %.8X ",ganzzahl);


jetzige Ausgabe: 00000000
Möchte also einfach alle zwei Zeichen einen Trennstrich (Minus).
Gast #1061488
Lesenswert?

Der Ansatz, den int mit Hilfe von Bit-Shifts in 4 bytes zu zerlegen, ist 
prinzipiell richtig, aber...

Soll es nun C oder C# sein? Bei letzterem gibt es in den 
Standard-Bibliotheken kein printf zur Ausgabe in die Console. Die 
geeignete Methode unter C# ist System.Console.Write bzw. ...WriteLine.

Formatierungen leisten diese Methoden aber nicht. Hier könnte man z.B. 
System.String.Format verwenden:

byte bp,b1,b2,b3;
string s = string.Format("{0:X2}-{1:X2}-{2:X2}-{3:X2}",b0,b1,b2,b3);

Gruß
Markus

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren