hallo ich möchte eine binärzahl in float umwandeln.
kann mir jemand vielleicht sagen wie ich die sache angehen
muss?
private final String[] data = {
// BEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM
„01001000011101001000000111000000“};
Zunächst solltest du dir klar werden, wie Gleitkomma-Zahlen aufgebaut sind. Wesentliche Elemente sind z.B. Vorzeichen, Mantisse und Exponent, bei dir als B, M und E angedeutet in dem Kommentar:
Die Zahl unter dem B gibt demnach das Vorzeichen an (0=positiv, 1=negativ).
Die Zahlen unter den E’s markieren den Exponent, also 100100000.
Die Zahlen unter den M’s definieren die Mantisse, also 11101001000000111000000.
Falls dir nicht klar ist, wie das mit Mantisse, Exponent usw funktioniert, also wie Gleitkommazahlen überhaupt funktioniert, lies dir erstmal das hier durch:
http://www.ulthryvasse.de/db72.html
Wenn du das verstanden hast, dann ist hier in diesem Artikel genau beschrieben, wie du die Zahl in eine „normale Zahl“, also z.B. 11063,24 umwandeln kannst.
http://de.wikipedia.org/wiki/IEEE_754#Berechnung_IEE…
Im Prinzip musst du das dann nur noch in Java nachprogrammieren.