Was ist der Unterschied zwischen den Datentypen short int und long int und dem doppelten Datentyp float ?


Beste Antwort

Unterschied s / w kurz und lang int

Nun, der Unterschied ist sehr gering, kann aber in einigen Fällen sehr wichtig sein. Bei der Programmierung ist das zweitwichtigste Ziel (nachdem das Programm das getan hat, was es soll), Speicherplatz zu sparen, damit das Programm so schnell wie möglich ausgeführt wird. Hier kommt Ihr Schlüsselwort „long“ ins Spiel. Long ist eine Ganzzahl, aber Integer ist nicht genau ein langes Verständnis? Es gibt auch ein „short“. Jetzt werden diese normalerweise mit int nach ihnen referenziert, aber es ist nicht erforderlich Der Unterschied zwischen ihnen ist ihre Größe. Abhängig vom Computer, aber in den meisten Fällen ist ein „kurz“ zwei Bytes, ein „lang“ vier Bytes und ein „int“ zwei oder vier Bytes. In Programmen ist es wichtig, dass Sie es deklarieren kurz oder lang, wenn Sie genau wissen, wie groß die Zahl sein wird und wie oft sie geändert wird, damit Sie so viel Speicher wie möglich sparen können. Nun zu dem Bereich, der von der Größe des int abhängt, ob es sich um eine handelt beträgt zwei oder vier Bytes. Hier ist eine Tabelle mit Referenzgrößen und -werten.

Typgrößenbereich

kurze int 2 Bytes -32.768 bis 32.767

lange int 4 Bytes -2.147.483.648 bis 2.147.483.647

int (16 Bit) 2 Bytes -32.768 bis 32.767

int (32 Bit) 4 Bytes -2.147 , 483,648 bis 2,147,483,647

Differenz S / w Float- und Double

Gleitkommazahlen, auch als Real bezeichnet Zahlen werden bei der Auswertung von Ausdrücken verwendet, die eine gebrochene Genauigkeit erfordern. Beispielsweise führen Berechnungen wie Quadratwurzel oder transzendentale wie Sinus und Cosinus zu einem Wert, dessen Genauigkeit einen Gleitkommatyp erfordert. Java implementiert den Standardsatz (IEEE – 754) von Gleitkommatypen und Operatoren. Es gibt zwei Arten von Gleitkommatypen, float und double, die Zahlen mit einfacher bzw. doppelter Genauigkeit darstellen. Ihre Breite und Bereiche werden hier angezeigt:

Namensbreite im Bitbereich

double 64 1 .7e – 308 bis 1.7e + 308

float 32 3 .4e – 038 bis 3.4e + 038

Jeder von diesen Als nächstes werden Gleitkommatypen untersucht.

float

Der Typ float gibt einen Wert mit einfacher Genauigkeit an, der 32 Bit Speicher verwendet. Die einfache Genauigkeit ist auf einigen Prozessoren schneller und nimmt halb so viel Platz ein wie die doppelte Genauigkeit. Sie wird jedoch ungenau, wenn die Werte entweder sehr groß oder sehr klein sind. Variablen vom Typ float sind nützlich, wenn Sie eine Bruchkomponente benötigen, aber kein hohes Maß an Präzision benötigen. Beispielsweise kann float nützlich sein, wenn Dollar und Cent dargestellt werden.

Hier einige Beispiele für float-Variablen Deklarationen:

float hightemp, lowtemp;

double

Die doppelte Genauigkeit, wie durch das Schlüsselwort double angegeben, verwendet 64 Bit zum Speichern eines Werts. Die doppelte Genauigkeit ist bei einigen modernen Prozessoren, die für Hochgeschwindigkeitsmathematik optimiert wurden, tatsächlich schneller als die einfache Genauigkeit Berechnungen: Alle transzendentalen mathematischen Funktionen wie sin (), cos () und sqrt () geben doppelte Werte zurück. Wenn Sie die Genauigkeit vieler iterativer Berechnungen beibehalten müssen oder Zahlen mit großen Werten bearbeiten, ist double die beste Wahl

Hier ist ein kurzes Programm, das doppelte Variablen verwendet, um die Fläche eines Kreises zu berechnen:

// Berechne th Der Bereich eines Kreises.

Klassenbereich {

public static void main (String args []) {

double pi, r, a;

r = 10,8; // Radius des Kreises

pi = 3.1416; // pi, ungefähr

a = pi * r * r; // Bereich berechnen

System.out.println („Kreisfläche ist“ + a);

}

}

Antwort

Wie üblich hängt davon ab . Die genaue Größe von Shorts und Longs bleibt dem Compiler-Implementierer überlassen, der Darstellungen auswählt, die am besten zur Zielarchitektur passen. Es ist möglich (aber unwahrscheinlich), dass sizeof(short) == sizeof(int) == sizeof(long), was bedeutet, dass sie alle gleich sind. Die einzige Garantie, die Sie haben, ist, dass die Größe eines Short kleiner oder gleich der Größe eines Long ist. Verwenden Sie für genaue Größen den Header . Um die hässlichen Details zu abstrahieren, verwenden Sie die Vorlage std::numeric\_limits aus .

Ähnliche Überlegungen gelten für float und double, aber hier ist es wahrscheinlicher, dass float eine Gleitkommazahl mit einfacher Genauigkeit (4 Byte) darstellt und double eine Gleitkommazahl mit doppelter Genauigkeit (8 Byte).Es wurde zu viel Software geschrieben, die IEEE 754 voraussetzt , sodass Compiler-Autoren weniger wahrscheinlich von den Regeln abweichen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.