Frage zu 32 Bit IEEE Norm in Java

Lestas89

Bekanntes Mitglied
Wenn ich die Zahl 4,75 als IEEE Zahl darstellen will. Wie mach ich das in Java? Die IEEE Zahl in 32 Bit Form lautet:

0 10000001 00110000000000000000000

Ich habe dies in Java als float gespeichert und bekomme folgende Fehlermeldung:

error: integer number too large: 01000000100110000000000000000000

Dann steht noch: float var 01000000100110000000000000000000; mit einem Pfeil auf die Null ganz links.
Welches Datenformat soll ich denn verwenden wenn float nicht ausreicht?
 
Die Zahl wird als Dezimalzahl und nicht als Binärzahl interpretiert.
Für Binärzahlen musst du das Präfix "0b" oder "0B" verwenden.

Also zum Beispiel so:
Java:
double binary = 0b01000000100110000000000000000000;
Siehe auch: Binary Literals
 
Zuletzt bearbeitet:
Vielen Dank für die schnelle Antwort. Ich werde jetzt aber mit einem Problem konfrontiert, mit dem ich vorher schon gerechnet habe. Es kommt eine riesengroße Zahl raus! Wie soll das Java denn erkennen?
Ausgabe: 1.0837033E9
 
Stimmt, das Vorzeichen und die Mantisse werden dann nicht erkannt.

Ich weiß nicht, ob die direkte Eingabe im IEEE754 Format möglich ist.
Da müsstest du dir wahrscheinlich selber was programmieren.

Kommt halt drauf an, was du machen möchtest.
 

Neue Themen


Zurück
Oben