Hallo ich würde gerne einen 4byte hex wert in einen Float konvertieren
Andersherum ist das ganz einfach:
PHP Code:
TextBox2.Text = BitConverter.ToString(BitConverter.GetBytes(Convert.ToSingle(TextBox1.Text))) //Textbox1 ist die Eingabe und Textbox2 die Ausgabe
Mein code ist bisjetzt so Ich habe das mit der Klasse(so verstanden das ich erst alle hexwerte splitten muss weil da immer ein "-" zwischen den hex teilen ist:
PHP Code:
Dim test As String() Dim byte1 As String
test = Split(TextBox1.Text, "-")//Textbox1 ist die Eingabe byte1 = test(0) + test(1) + test(2) + test(3)
Dim s As Single = Convert.ToSingle(byte1)
wenn ich das aber ausführe kommt bei
PHP Code:
Dim s As Single = Convert.ToSingle(byte1)
"Die Eingabezeichenfolge hat das Falsche Format"
Aber welches andere Format soll ich bitte benutzen?
Dnake für eure Hilfe
Edit: Damit es nicht zur Verwirrung kommt "Single"= "Float"
Private Function ConvertHexToSingle(ByVal hexValue As String) As Single
Try
Dim iInputIndex As Integer = 0
Dim iOutputIndex As Integer = 0
Dim bArray(3) As Byte
For iInputIndex = 0 To hexValue.Length - 1 Step 2
bArray(iOutputIndex) = Byte.Parse(hexValue.Chars(iInputIndex) & hexValue.Chars(iInputIndex + 1), Globalization.NumberStyles.HexNumber)
iOutputIndex += 1
Next
Array.Reverse(bArray)
Return BitConverter.ToSingle(bArray, 0)
Catch ex As Exception
Throw New FormatException("The supplied hex value is either empty or in an incorrect format. Use the following format: 00000000", ex)
End Try
End Function
Private Function ConvertHexToSingle(ByVal hexValue As String) As Single
Try
Dim iInputIndex As Integer = 0
Dim iOutputIndex As Integer = 0
Dim bArray(3) As Byte
For iInputIndex = 0 To hexValue.Length - 1 Step 2
bArray(iOutputIndex) = Byte.Parse(hexValue.Chars(iInputIndex) & hexValue.Chars(iInputIndex + 1), Globalization.NumberStyles.HexNumber)
iOutputIndex += 1
Next
Array.Reverse(bArray)
Return BitConverter.ToSingle(bArray, 0)
Catch ex As Exception
Throw New FormatException("The supplied hex value is either empty or in an incorrect format. Use the following format: 00000000", ex)
End Try
End Function
Das hat google ausgespuckt
ok mit dem Kommt was anderes raus als was ich als input hab
Ich habe erst 1.1212 zu Hex konvertiert dann kam 00-30-2F-46 raus
das habe ich dann mit der von dir gennanten funktion wieder zurück konvertiert und habe dann aber nichtmehr 1.1212 sondern einen Kleineren Wert mit einer viel zulangen Nachkommastelle für Float
Edit: Mir ist aufgefallen wenn ich das was da rauskomme wieder in hex umwanndle und das dann wieder in float das ich dann meinen Anfangswert ohne Komma bekomm aber woran liegt das??
byte[] bytes = new byte[]{ 0x00, 0x30, 0x2F, 0x46 };
if (BitConverter.IsLittleEndian) {
Array.Reverse(bytes);
}
float myFloat = BitConverter.ToSingle(bytes, 0);
ist ungetestet, sollte aber so funktionieren, muss nur noch in vb übertragen werden
ja funkt ich bin auch n harter vollspast -.- ich hab vergessen das man die hex werte dann von hintenlesen muss(also umgekehrt eingeben um das richtige rauszubekommen -.- ich spast
Der von requi hätt auch funktioniert wenns ned an meiner beschränktheit gescheitert wäre danke euch beiden kann geclosed werden
Edit: wenns jemanden intressiert in vb sieht das dann so aus
Textbox1 ist eingabe textbox2 die ausgabe
PHP Code:
Dim ByteArray As String()
ByteArray = Split(TextBox1.Text, "-")
Dim bytes As Byte() = New Byte() {"&H" & ByteArray(3), "&H" & ByteArray(2), "&H" & ByteArray(1), "&H" & ByteArray(0)}
If BitConverter.IsLittleEndian Then
Array.Reverse(bytes)
End If
Dim float As String
float = Convert.ToString(BitConverter.ToSingle(bytes, 0))
Dim i As Integer = float.Length - 4
Dim Vorkommastelle As Integer = float.Substring(0, i)
Dim Nachkommastelle As String = float.Substring(i, float.Length - i)
MsgBox(Nachkommastelle)
TextBox2.Text = Vorkommastelle & "." & Nachkommastelle
*.odp in *.ppt konvertieren? 10/18/2012 - Technical Support - 0 Replies Wie im Titel steht - gibt es eine Möglichkeit, eine Präsentation von OpenOffice in einer PowerPoint Präsentation zu konvertieren?
4 Byte in Float konvertieren mit AutoIT 06/30/2012 - AutoIt - 7 Replies Hi,
Die Variable deren Adresse ich mit Cheat-engine suche ist eine Float variable. Wenn ich die Adresse mit AutoIT einlese interpretiert er es allerdings als 4Byte und bringt ein total falsches Ergebnis. Da man nur Variablen mit dem Typ variant deklarieren kann wollte ich fragen ob man ein 4Byte auch in einen Float umrechnen kann.
LoL Records konvertieren 09/01/2011 - League of Legends - 3 Replies Hallo zusammen,
Ich habe eine Frage und zwar habe ich nun einige Records, aber weiss nicht wie ich die so konvertieren kann, dass ich sie bei SonyVegas bearbeite.
Kann mir da jemand helfen ?
Pngs zu Gif Konvertieren 09/29/2010 - General Art - 1 Replies Hey Com,
hab da mal ne Frage... habe mehrere PNGs und würde sie gerne zu einer Gif konvertieren(animierte) wie mach ich das am Besten? Hier die Gifs
€dit Hoffe, das das die richtige Section ist
Best Regards, beat'brot
Din A4 in A2/A3 konvertieren? 01/21/2010 - General Art - 5 Replies Hallo Epvpers
Ich habe hier ein DinA4 Plakat mit einigen Brushes drauf und schrift (siehe Anhang).
RapidShare: 1-CLICK Web hosting - Easy Filehosting
Das Problem das das ganze auf A4 schon pixelmäßig grenzwertig ist.
Kann ich das irgendwie größer hinkriegen ohne das es enorm verpixelt ist?
Vielen Dank
Lemuna