Heim  >  Artikel  >  Java  >  Eine kurze Einführung in die automatische Konvertierung von Java-Basistypen

Eine kurze Einführung in die automatische Konvertierung von Java-Basistypen

巴扎黑
巴扎黑Original
2017-08-01 11:33:431771Durchsuche

Die spezifischen Arten automatischer Werbeaktionen sind im Bild oben dargestellt. Unter anderem fühlte ich mich bei der Konvertierung von long->float zunächst etwas problematisch, da long 64-Bit ist, Float jedoch 32-Bit.

Dann suchte ich nach der Antwort und verwies auf den Mord, der durch die automatische Konvertierung von Long in Float im Blog-Java verursacht wurde.

Grund

Zunächst müssen Sie wissen, dass der Zahlenbereich, den Float darstellen kann, größer ist als der von Long. Es ist also denkbar, dass eine Zahl vom Typ Long konvertiert werden kann Float-Typ.

langer Typ, der Wertebereich ist -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807(-263 ~ 263- 1)

Float-Typ, der Wertebereich ist 2^(-149) ---> (2-2^(-23))*2^127, also Float.MIN_VALUE und Float.MAX_VALUE

Jede lange Typnummer kann mit der Float-Typ-Darstellungsmethode dargestellt werden. Da Float jedoch Präzisionseinschränkungen aufweist, kann die Genauigkeit während des Konvertierungsprozesses verloren gehen, z. B. 31111111111111111L ---->3.1111111E15---->3111111100465152, die nach der Konvertierung verloren geht. Präzision

Zweitens müssen Sie wissen, wie die 32-Bit-Fließkommazahl Dezimalzahlen darstellt (ich habe es im Kurs „Computerkompositionsprinzipien“ an der Universität gelernt, es aber vergessen. Ich werde es jetzt studieren und hoffe, dass ich es mir merken kann).

Prinzip der Float-Speicherspeicherung

http://steve.hollasch.net/cgindex/coding/ieeefloat.html (IEEE754-Standard)

( 1) In der Basis 10 kann 123,456 als 1,23456 × 10

2

ausgedrückt werden, und im Binärsystem kann 10100,110 als 1,0100110 × 24(2) ausgedrückt werden ) Gleitkommazahlen haben eine Genauigkeit und Zahlen, die diese Genauigkeit überschreiten, können nicht dargestellt werden. Beispielsweise ist 0,0000000000000001 auf x Nachkommastellen genau.

(3) IEEE-Gleitkommazahlen bestehen aus drei Teilen: Vorzeichenbit (S), Exponentenbit (E) und Ende (M). Jede Zahl kann binär als S*1.M ausgedrückt werden *2

E

表示形式如下:
Single:

(4) Zusammenfassung: Der Darstellungsbereich von Float ist

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in die automatische Konvertierung von Java-Basistypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn