Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Doppelpräzisionszahlen | Numerische Datentypen
C++ Datentypen
course content

Kursinhalt

C++ Datentypen

C++ Datentypen

1. Einführung
2. Numerische Datentypen
3. Textdatentyp
4. Andere Datentypen und Konzepte

book
Doppelpräzisionszahlen

Die Genauigkeit von float (7 Dezimalstellen) reicht nicht immer aus. Aber C++ hat eine Lösung: double. Mit einer Genauigkeit von 15 Dezimalstellen ist es viel genauer als float. Die Syntax für die Verwendung von double ist wie immer:

double

double

copy
1
double num = 3.14159265359;

Standardmäßig gibt cout Gleitkommazahlen mit einer Genauigkeit von 6 signifikanten Stellen aus. Auf diese Weise sehen Sie keinen Unterschied zwischen float und double. Um eine größere Genauigkeit einzustellen, können wir erneut std::cout << std::setprecision(15); verwenden (dies setzt die Genauigkeit auf 15 signifikante Stellen).

Vergessen Sie nicht, <iomanip> einzuschließen, um std::setprecision() verwenden zu können.

cpp

main

copy
123456789101112131415
#include <iostream> #include <iomanip> int main() { float pi_float = 3.14159265358979; double pi_double = 3.14159265358979; std::cout << "float pi: " << pi_float << std::endl; std::cout << "double pi: " << pi_double << std::endl; std::cout << std::setprecision(15); std::cout << "float pi with setprecision: " << pi_float << std::endl; std::cout << "double pi with setprecision: " << pi_double << std::endl; }

Wie wird eine bessere Genauigkeit in double erreicht?

Es benötigt einfach mehr Speicher. Ein float-Typ benötigt 4 Bytes, und ein double benötigt 8 Bytes Speicher.

Es gibt auch einen long double-Typ. Seine Größe reicht von 8 Bytes (genau wie ein double) bis zu 16 Bytes. Sie können die Größe des long double auf Ihrem System mit folgendem Code überprüfen:

h

sizeof

copy
1
std::cout << sizeof(long double);

Zusätzlich sollten Sie ein L zu einem Wert hinzufügen, den Sie zuweisen (ansonsten wird der Wert mit der Genauigkeit von double zugewiesen). Schauen Sie sich das Beispiel an:

h

double

copy
1
long double pi = 3.141592653589793238462643L;

Hinweis

Wenn Sie Nullen im Ergebnis erhalten, stellen Sie sicher, dass Sie die Werte genau wie oben gezeigt zugewiesen haben (1/3., 1/3.L).

Aufgabe

Swipe to start coding

Sie müssen (1/3)² mit verschiedenen Datentypen berechnen. Dazu weisen Sie den Wert von 1/3 den Variablen vom Typ float, double und long double zu. Dann drucken Sie diese Zahlen, multipliziert mit sich selbst.

  1. Initialisieren Sie eine float-Variable mit dem Wert 1/3.;
  2. Initialisieren Sie eine double-Variable mit dem Wert 1/3.;
  3. Initialisieren Sie eine long double-Variable mit dem Wert 1/3.L.
    Hinweis: long double belegt 16 Bytes Speicher auf unserem System
  4. Setzen Sie die Ausgabepräzision auf 25 Dezimalstellen mit setprecision(25);
  5. Drucken Sie alle diese Werte, multipliziert mit sich selbst.

Lösung

cpp

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
toggle bottom row

book
Doppelpräzisionszahlen

Die Genauigkeit von float (7 Dezimalstellen) reicht nicht immer aus. Aber C++ hat eine Lösung: double. Mit einer Genauigkeit von 15 Dezimalstellen ist es viel genauer als float. Die Syntax für die Verwendung von double ist wie immer:

double

double

copy
1
double num = 3.14159265359;

Standardmäßig gibt cout Gleitkommazahlen mit einer Genauigkeit von 6 signifikanten Stellen aus. Auf diese Weise sehen Sie keinen Unterschied zwischen float und double. Um eine größere Genauigkeit einzustellen, können wir erneut std::cout << std::setprecision(15); verwenden (dies setzt die Genauigkeit auf 15 signifikante Stellen).

Vergessen Sie nicht, <iomanip> einzuschließen, um std::setprecision() verwenden zu können.

cpp

main

copy
123456789101112131415
#include <iostream> #include <iomanip> int main() { float pi_float = 3.14159265358979; double pi_double = 3.14159265358979; std::cout << "float pi: " << pi_float << std::endl; std::cout << "double pi: " << pi_double << std::endl; std::cout << std::setprecision(15); std::cout << "float pi with setprecision: " << pi_float << std::endl; std::cout << "double pi with setprecision: " << pi_double << std::endl; }

Wie wird eine bessere Genauigkeit in double erreicht?

Es benötigt einfach mehr Speicher. Ein float-Typ benötigt 4 Bytes, und ein double benötigt 8 Bytes Speicher.

Es gibt auch einen long double-Typ. Seine Größe reicht von 8 Bytes (genau wie ein double) bis zu 16 Bytes. Sie können die Größe des long double auf Ihrem System mit folgendem Code überprüfen:

h

sizeof

copy
1
std::cout << sizeof(long double);

Zusätzlich sollten Sie ein L zu einem Wert hinzufügen, den Sie zuweisen (ansonsten wird der Wert mit der Genauigkeit von double zugewiesen). Schauen Sie sich das Beispiel an:

h

double

copy
1
long double pi = 3.141592653589793238462643L;

Hinweis

Wenn Sie Nullen im Ergebnis erhalten, stellen Sie sicher, dass Sie die Werte genau wie oben gezeigt zugewiesen haben (1/3., 1/3.L).

Aufgabe

Swipe to start coding

Sie müssen (1/3)² mit verschiedenen Datentypen berechnen. Dazu weisen Sie den Wert von 1/3 den Variablen vom Typ float, double und long double zu. Dann drucken Sie diese Zahlen, multipliziert mit sich selbst.

  1. Initialisieren Sie eine float-Variable mit dem Wert 1/3.;
  2. Initialisieren Sie eine double-Variable mit dem Wert 1/3.;
  3. Initialisieren Sie eine long double-Variable mit dem Wert 1/3.L.
    Hinweis: long double belegt 16 Bytes Speicher auf unserem System
  4. Setzen Sie die Ausgabepräzision auf 25 Dezimalstellen mit setprecision(25);
  5. Drucken Sie alle diese Werte, multipliziert mit sich selbst.

Lösung

cpp

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt