Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Nombres à Double Précision | Types de Données Numériques
Types de Données C++
course content

Contenu du cours

Types de Données C++

Types de Données C++

1. Introduction
2. Types de Données Numériques
3. Type de Données Texte
4. Autres Types de Données et Concepts

book
Nombres à Double Précision

La précision de float (7 chiffres décimaux) n'est pas toujours suffisante. Mais C++ a une solution : double. Avec une précision de 15 chiffres décimaux, il est beaucoup plus précis que float. La syntaxe pour utiliser double est la même que d'habitude :

double

double

copy
1
double num = 3.14159265359;

Par défaut, cout imprime les nombres à virgule flottante avec une précision de 6 chiffres significatifs. De cette façon, vous ne verrez pas de différence entre float et double. Pour définir une précision plus grande, nous pouvons utiliser std::cout << std::setprecision(15); à nouveau (cela définira la précision à 15 chiffres significatifs).

N'oubliez pas d'inclure <iomanip> pour pouvoir utiliser std::setprecision().

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; }

Comment une meilleure précision est-elle obtenue dans double?

Cela prend simplement plus de mémoire. Un type float occupe 4 octets, et un double occupe 8 octets de mémoire.

Il existe également un type long double. Sa taille varie de 8 octets (comme un double) à 16 octets. Vous pouvez vérifier la taille du long double sur votre système en utilisant le code suivant :

h

sizeof

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

De plus, vous devez ajouter L à une valeur que vous assignez (sinon, la valeur sera assignée avec la précision de double). Regardez l'exemple :

h

double

copy
1
long double pi = 3.141592653589793238462643L;

Remarque

Si vous obtenez des zéros dans la sortie, assurez-vous d'avoir attribué les valeurs exactement comme indiqué ci-dessus (1/3., 1/3.L).

Tâche

Swipe to start coding

Vous devez calculer (1/3)² en utilisant différents types de données. Pour cela, assignez la valeur de 1/3 aux variables de type float, double et long double. Ensuite, imprimez ces nombres multipliés par eux-mêmes.

  1. Initialisez une variable float avec la valeur 1/3.;
  2. Initialisez une variable double avec la valeur 1/3.;
  3. Initialisez une variable long double avec la valeur 1/3.L.
    note : long double occupe 16 octets de mémoire sur notre système
  4. Réglez la précision de la sortie à 25 décimales avec setprecision(25);
  5. Imprimez toutes ces valeurs multipliées par elles-mêmes.

Solution

cpp

solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5
toggle bottom row

book
Nombres à Double Précision

La précision de float (7 chiffres décimaux) n'est pas toujours suffisante. Mais C++ a une solution : double. Avec une précision de 15 chiffres décimaux, il est beaucoup plus précis que float. La syntaxe pour utiliser double est la même que d'habitude :

double

double

copy
1
double num = 3.14159265359;

Par défaut, cout imprime les nombres à virgule flottante avec une précision de 6 chiffres significatifs. De cette façon, vous ne verrez pas de différence entre float et double. Pour définir une précision plus grande, nous pouvons utiliser std::cout << std::setprecision(15); à nouveau (cela définira la précision à 15 chiffres significatifs).

N'oubliez pas d'inclure <iomanip> pour pouvoir utiliser std::setprecision().

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; }

Comment une meilleure précision est-elle obtenue dans double?

Cela prend simplement plus de mémoire. Un type float occupe 4 octets, et un double occupe 8 octets de mémoire.

Il existe également un type long double. Sa taille varie de 8 octets (comme un double) à 16 octets. Vous pouvez vérifier la taille du long double sur votre système en utilisant le code suivant :

h

sizeof

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

De plus, vous devez ajouter L à une valeur que vous assignez (sinon, la valeur sera assignée avec la précision de double). Regardez l'exemple :

h

double

copy
1
long double pi = 3.141592653589793238462643L;

Remarque

Si vous obtenez des zéros dans la sortie, assurez-vous d'avoir attribué les valeurs exactement comme indiqué ci-dessus (1/3., 1/3.L).

Tâche

Swipe to start coding

Vous devez calculer (1/3)² en utilisant différents types de données. Pour cela, assignez la valeur de 1/3 aux variables de type float, double et long double. Ensuite, imprimez ces nombres multipliés par eux-mêmes.

  1. Initialisez une variable float avec la valeur 1/3.;
  2. Initialisez une variable double avec la valeur 1/3.;
  3. Initialisez une variable long double avec la valeur 1/3.L.
    note : long double occupe 16 octets de mémoire sur notre système
  4. Réglez la précision de la sortie à 25 décimales avec setprecision(25);
  5. Imprimez toutes ces valeurs multipliées par elles-mêmes.

Solution

cpp

solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt