Heim > Artikel > Computer-Tutorials > Was sind Java-Gleitkommakonstanten?
1. Gleitkommakonstanten Die realen Konstanten von Java haben zwei Darstellungsformen: eine dezimale Zahlenform, bestehend aus Zahlen und Dezimalpunkten, und es muss einen Dezimalpunkt geben, z. B. 0,123, .123, 123, 123,0. 2. Form der wissenschaftlichen Notation. Beispiel: 123e3 oder 123E3, wobei vor e oder E eine Zahl stehen muss und der Exponent nach e oder E eine ganze Zahl sein muss. Reale Konstanten belegen in der Maschine 64 Bit und haben doppelte Werte. Fügen Sie für Werte vom Typ Float f oder F nach der Zahl hinzu, z. B. 12.3F, was in der Maschine 32 Bit belegt und eine geringe Darstellungsgenauigkeit aufweist.
Gleitkommavariablen haben zwei Typen: Float und Double. Float belegt 32 Bit und der Wertebereich liegt zwischen 3,4e-038 und 3,4e+038. Double belegt 64 Bit und der Wertebereich liegt zwischen 1,7e-308 und 1,7e+308. Der Double-Typ weist eine höhere Präzision und einen größeren Darstellungsbereich als der Float-Typ auf und wird normalerweise in Szenarien verwendet, die eine hohe Präzision erfordern, z. B. wissenschaftliche Berechnungen.
In Java können Sie Float und Double verwenden, um Gleitkommavariablen zu definieren. Zum Beispiel: float f; // Variable f als Float-Typ angeben double d; // Variable d als Double-Typ angeben Im Gegensatz zu C und C++ verfügt Java nicht über einen vorzeichenlosen Ganzzahltyp und gibt die Anzahl der Speicherbytes an, die von Ganzzahl- und Gleitkommadaten belegt werden. Diese Bestimmung gewährleistet die Sicherheit, Robustheit und Plattformunabhängigkeit von Java-Programmen. Dies bedeutet, dass verschiedene Java-Implementierungen beim Umgang mit Ganzzahl- und Gleitkommadaten ein konsistentes Verhalten aufweisen und die Ergebnisse unabhängig von der Plattform, auf der sie ausgeführt werden, vorhersehbar sind.
Java-Gleitkommaberechnungsproblem
& heißt „bitweises UND“ und seine Regeln lauten: 0&0=0 1&0=0 0&1=0 1&1=1
"|" heißt „bitweises ODER“, die Operationsregeln sind: 0|0=0 1|0=1 0|1=1 1|1=1
0x7fffff ausgedrückt in 32-Bit-Binärform ist 0000 0000 0111 1111 1111 1111 1111 1111
Gemäß der bitweisen UND-Verknüpfungsregel werden die oberen 9 Bits auf Null gelöscht.
0x800000 ausgedrückt in 32-Bit-Binärform ist 0000 0000 1000 0000 0000 0000 0000 0000
Gemäß dem bitweisen ODER-Algorithmus wird das 24. Bit auf 1 gesetzt.
Um es ins rechte Licht zu rücken: ((bits & 0x7fffff)|0x800000) bedeutet, zuerst die oberen 9 Bits zu löschen und dann das 24. Bit auf 1 zu setzen.
Über die erste Hälfte: „
Was das Fragezeichen angeht, es ist nicht nötig, es zu erklären, oder?
Eine JAVA-Frage zu Gleitkommatypen
doppeltes a=2,00-1,10;
doppeltes b=0,90;
System.out.print(a==b);
Das Ergebnis wird falsch sein
Manchmal wird also eine Methode verwendet, um die Gleichheit von Gleitkommazahlen zu beurteilen, und das ist
public static boolean isEqual(double a,double b){
endgültiges doppeltes Epsilon=0,00000001;
return Math.abs(a-b)
Zusammenfassend lässt sich sagen, dass Gleitkommazahlen nach Operationen Fehler aufweisen. 0,7799999713897705 ist der Fehler, der durch die Konvertierung von Float in Double verursacht wird, und 0,78 ist die normale Operation von Float
Das obige ist der detaillierte Inhalt vonWas sind Java-Gleitkommakonstanten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!