float-Wert hexadezimal ausgeben


Hallo!

Ich habe ein Array an float-Werten und möchte die gerne in einer RichTextBox hexadezimal ausgeben.
Habe es mit ToString("X")-Methode versucht, die will aber nicht, gibt es noch eine andere Variante?

Danke&Gruß
 

Christian Kusmanow

Erfahrenes Mitglied
Hallo MC_Straßenköter!

Versuchs doch mal so:
Code:
lblHexNumber.Text = string.Format( "{0:X10}", long.Parse( txtNumber.Text ) );
MfG, cosmo
 
Hallo cosmochaosmaker!

Habe es mit deinem Vorschlag versucht, aber immer wenn meine float-Werte nicht gerade 1.0, 2.0, 3.0,etc sind, sondern z.B. 0.0123 gibt er mir eine Fehlermeldung raus "Input string was not in the correct format".
Kann das an der Parse-Methode liegen? Da die ja 64-Bit integer Werte repräsentiert und das würde ja meine float-Werte verfälschen, oder?
Oder bin ich da auf'n Holzweg?

Habe es mit folgender Zeile mal versucht:

rtBx.AppendText((BitConverter.DoubleToInt64Bits(floatBuffer[t])).ToString("X"));

So gibt er mir was "scheinbar" vernünftiges aus?! Leider kenn ich mich mit der Methode BitConverter zu wenig aus!
 

Christian Kusmanow

Erfahrenes Mitglied
Ohh, ich dachte erst Long. Hab mich verlesen.
Dir dürfte klar sein das nicht so einfach ist ungerade Zahlen in Hex zu konvertieren.
Dafür brauchts einen speziellen Algorithmus. AFAIK
Ich hab da aber was bezüglich irgendwo zuhause. Wenn ich den Algorithmus finde, poste ich ihn.
 

Neue Beiträge