type-promotion

___ answer31495832 ___

%code% wird auf andere Weise dargestellt als integrale Typen. Weitere Informationen zum Floating-Typ finden Sie hier: Ссылка . Der gekochte Inhalt würde so aussehen: Das Fließkommaformat besteht aus einem Vorzeichenbit, 8 Bit für den Exponenten und 23 Bit für den Bruchteil des Wertes. Der Wert wird wie folgt berechnet: (-1) ^ Zeichenbit * 1.Fraktionalteil * 2 ^ (Exponent - 127). Somit erlaubt dieser Algorithmus die Darstellung größerer Werte als ein 64-Bit-Integraltyp.

    
___ answer31495794 ___

%code% verwendet mehr Bytes, aber es hat einen kleineren Bereich: während %code% nicht über 2 63 hinausgehen kann, kann %code% auf etwa 2 127 gehen . Offensichtlich wird die Erweiterung der Reichweite mit dem Preis niedrigerer Genauigkeit durchgeführt, aber da der Bereich von %code% größer ist, ist die Umwandlung von %code% in %code% eine Werbung.

    
___ answer31495845 ___

Dieser schnelle Test sollte zeigen warum:

%Vor%

Ausgabe:

%Vor%

Beachten Sie die wissenschaftliche Notation in der Float-Zeile. Der Float nimmt weniger Platz ein, aber aufgrund seiner Darstellung kann er eine größere Anzahl als ein Long enthalten.

    
___ qstntxt ___

Ich habe gelesen, dass in Java der lange Typ float und double ( Ссылка ) beworben werden kann. Ich wollte fragen, dass lange Integer dauert 8 Bytes Speicher in JAVA und float dauert 4 Bytes dann, wie diese Förderung funktioniert? Ist es nicht möglich, dass uns ein Datenverlust drohen könnte, wenn wir auf diese Weise werben?

Es fällt auch auf, dass alle anderen Arten von Promotions von einem kleineren primitiven Datentyp zu ähnlichen oder größeren Datentypen sind.

  • Byte zu kurz, int, long, float oder double
  • kurz zu int, long, float oder double
  • char zu int, long, float oder double
  • int zu lang, float oder double
  • lang, um zu schwimmen oder zu verdoppeln _______________ Außergewöhnlich im Falle von Float
  • float um zu verdoppeln
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ tag123longinteger ___ Eine lange ganze Zahl ist eine ganze Zahl, normalerweise doppelt so groß wie eine normale ganze Zahl. Es wird in mehreren Programmiersprachen durch das Schlüsselwort 'long' repräsentiert. ___ qstnhdr ___ Long hat eine Größe von 8 Bytes, wie kann es dann in JAVA floaten (4 Bytes)? ___ tag123Typepromotion ___ Ein Sonderfall der impliziten Typkonvertierung ist die Typpromotion, bei der der Compiler die binäre Darstellung von Objekten ganzzahliger oder Gleitkommatypen automatisch erweitert. ___
1
Antwort

Syntax für die Datenweitergabe

Ich habe kürzlich die Data.Promotion Hälfte von Singletons entdeckt. Es hat viele Typenfamilien, die im wesentlichen willkürliche Berechnungen auf der Typ-Ebene erlauben. Ich habe ein paar Fragen zur Verwendung: Was ist der Unterschied...
04.06.2014, 22:24
3
Antworten

Long hat eine Größe von 8 Bytes, wie kann es dann in JAVA floaten (4 Bytes)?

Ich habe gelesen, dass in Java der lange Typ float und double ( Ссылка ) beworben werden kann. Ich wollte fragen, dass lange Integer dauert 8 Bytes Speicher in JAVA und float dauert 4 Bytes dann, wie diese Förderung funktioniert? Ist es nicht mö...
18.07.2015, 21:26