Forum: PC-Programmierung C# Ausgabe Problem Hilfe


von Kehrenkamp (Gast)


Lesenswert?

int i = 300000000 ;
i = Convert.ToInt32(textBox1.Text);
string a = String.Format("{0:X08}", i);
textBox4.Text = a

Guten Abend,

Hab hier ein kleines Programm geschrieben.
Das wandelt die zahl 300000000 in eine Hexdezimal zahl um.
Funktioniert auch alles einwandfrei.

300000000 = 11E1A300 // Das Programm gibt das aus, was auch richtig ist.

Jetzt zu meiner Frage:

Ich möchte die Ausagbe von meiner Hex-Zahl: 11 E1 A3 00 bisschen 
durcheinander bringen, undzwar soll die Ausgabe so schauen: 00 A3 E1 11
Weiß einer Rat?

MfG

von Matthias (Gast)


Lesenswert?

Byteweise maskieren und in neue 32bit variable kopieren

von Ralf (Gast)


Lesenswert?

> ... bisschen durcheinander bringen...
Ein bisschen, oder konkret neu anordnen?

Weil:
> ... soll die Ausgabe so schauen: 00 A3 E1 11 ...
entspricht genau der umgekehrten Reihenfolge!

Du könntest den String (egal ob Original- oder gewandelt) von hinten her 
ausgeben. Mit den String-Funktionen sollte das kein Problem sein. Immer 
von "hinten" zwei der Buchstaben auslesen, und ausgeben. Danach den 
String auf die Länge - 2 Buchstaben kürzen.

Hat den Vorteil, dass die Zahl an sich unverändert bleibt.

Ralf

von Kehrenkamp (Gast)


Lesenswert?

Konkret neu anordnen: 11 E1 A3 00 // hier drauß soll das werden
                      00 A3 E1 11 //

Hier noch ein Beispiel;:

00 00 00 01
01 00 00 00

Kann mir vielleicht einer nen kleines Beispiel sagen, wie ich den string 
von hinten ausgebe?

MfG

von Chris .. (dechavue)


Lesenswert?

So zum Beispiel:
1
    class Program {
2
        static void Main(string[] args) {
3
            Console.WriteLine(FormatInversHex(300000000));
4
        }
5
6
        static string FormatInversHex(Int32 val) {
7
            StringBuilder ret = new StringBuilder();
8
            string strVal = val.ToString("X08");
9
            for (int i = strVal.Length - 2; i >= 0; i -= 2) {
10
                ret.Append(strVal.Substring(i, 2));
11
                ret.Append(" ");
12
            }
13
            return ret.ToString();
14
        }
15
    }

greets

von Kehrenkamp (Gast)


Lesenswert?

Ich sag vielen vielen Dank.

Aber könnte mir das einer noch für Windows Anwendung erklären?

von Chris .. (dechavue)


Lesenswert?

Das funktioniert doch auch in einer WindowsForms - Applikation genau 
gleich, die Funktion liefert ja einfach einen string zurück.

In dem Beispiel habe ich diesen halt auf die Konsole geschrieben, man 
kann ihn natürlich auch genauso gut einer TextBox zuweisen oder was auch 
immer du mit dem Ergebnis vor hast.

von Kehrenkamp (Gast)


Lesenswert?

Vielen vielen Dank nochmal vielen Dank habs hingebracht.

Gute Nacht

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.