Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Types de Données Numériques | Variables et Types de Données
Introduction Au C++

bookTypes de Données Numériques

Nombres entiers

Les types de données entiers sont les plus couramment utilisés pour les nombres entiers. Le type de données int peut contenir des valeurs dans la plage de -2,147,483,648 à 2,147,483,647.

main.cpp

main.cpp

copy
12345678910
#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }

Cela s'explique par le fait que lorsque vous déclarez une variable int, elle alloue précisément 4 octets de la mémoire de votre ordinateur. Et les nombres supérieurs à 2147483647 (ou inférieurs à -2147483648) ne tiennent pas dans ces 4 octets. Heureusement, d'autres types de données disponibles peuvent allouer plus (ou moins) d'espace selon vos besoins. Voici le tableau :

Ainsi, il est possible d'utiliser long pour stocker de grands nombres (par exemple, la population mondiale). Il est également possible d'utiliser short si l'on est certain que la valeur ne dépassera pas la plage de -32,768 à 32,767 (par exemple, pour stocker l'âge d'un utilisateur). L'utilisation de short permet de réduire l'espace mémoire utilisé.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { short age = 22; // for small numbers int likes = 143200; // for larger numbers long population = 8200000000; // for very large numbers // Display the values std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }
Note
Remarque

Faire attention au type de données sélectionné. Si la plage d'un type est dépassée, le compilateur C++ ne vous en informera pas, et il est possible d'obtenir une valeur inattendue sans aucune indication d'erreur.

Nombres à virgule flottante

Les types de données ci-dessus sont conçus pour stocker des nombres entiers. Si l’on essayait d’assigner 1.6 à l’un d’eux, voici le résultat obtenu :

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }

Le type int tronque la partie décimale d’un nombre. Ce comportement est identique pour les types short et long. Pour stocker des nombres à virgule flottante (décimaux), il convient d’utiliser les types de données float ou double.

Voici un exemple d'utilisation de double pour stocker 1.6.

main.cpp

main.cpp

copy
12345678910
#include <iostream> int main() { float floatNum = 123.45678; double doubleNum = 123.45678; std::cout << "using float:" << floatNum - 123 << std::endl; std::cout << "using double:" << doubleNum - 123 << std::endl; }
Note
Remarque

Comme le type float n'a qu'une précision de sept chiffres, le nombre 123.456789 dépasse déjà sa plage de précision. Cela peut entraîner des résultats inexacts (comme illustré dans l'exemple ci-dessous). Il est donc préférable d'utiliser double par défaut, sauf si vous êtes certain que la précision de float est suffisante.

Évidemment, il est possible d'utiliser float ou double pour stocker des nombres entiers, car ce sont des nombres décimaux dont la partie décimale est égale à 0. Cependant, il est recommandé, si une variable ne doit contenir que des valeurs entières (par exemple, une population ou un nombre de mentions « J'aime »), d'utiliser short/int/long.

question mark

Que se passe-t-il si vous essayez d'assigner un nombre supérieur à 2,147,483,647 à une variable de type int ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 3.85

bookTypes de Données Numériques

Glissez pour afficher le menu

Nombres entiers

Les types de données entiers sont les plus couramment utilisés pour les nombres entiers. Le type de données int peut contenir des valeurs dans la plage de -2,147,483,648 à 2,147,483,647.

main.cpp

main.cpp

copy
12345678910
#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }

Cela s'explique par le fait que lorsque vous déclarez une variable int, elle alloue précisément 4 octets de la mémoire de votre ordinateur. Et les nombres supérieurs à 2147483647 (ou inférieurs à -2147483648) ne tiennent pas dans ces 4 octets. Heureusement, d'autres types de données disponibles peuvent allouer plus (ou moins) d'espace selon vos besoins. Voici le tableau :

Ainsi, il est possible d'utiliser long pour stocker de grands nombres (par exemple, la population mondiale). Il est également possible d'utiliser short si l'on est certain que la valeur ne dépassera pas la plage de -32,768 à 32,767 (par exemple, pour stocker l'âge d'un utilisateur). L'utilisation de short permet de réduire l'espace mémoire utilisé.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { short age = 22; // for small numbers int likes = 143200; // for larger numbers long population = 8200000000; // for very large numbers // Display the values std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }
Note
Remarque

Faire attention au type de données sélectionné. Si la plage d'un type est dépassée, le compilateur C++ ne vous en informera pas, et il est possible d'obtenir une valeur inattendue sans aucune indication d'erreur.

Nombres à virgule flottante

Les types de données ci-dessus sont conçus pour stocker des nombres entiers. Si l’on essayait d’assigner 1.6 à l’un d’eux, voici le résultat obtenu :

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }

Le type int tronque la partie décimale d’un nombre. Ce comportement est identique pour les types short et long. Pour stocker des nombres à virgule flottante (décimaux), il convient d’utiliser les types de données float ou double.

Voici un exemple d'utilisation de double pour stocker 1.6.

main.cpp

main.cpp

copy
12345678910
#include <iostream> int main() { float floatNum = 123.45678; double doubleNum = 123.45678; std::cout << "using float:" << floatNum - 123 << std::endl; std::cout << "using double:" << doubleNum - 123 << std::endl; }
Note
Remarque

Comme le type float n'a qu'une précision de sept chiffres, le nombre 123.456789 dépasse déjà sa plage de précision. Cela peut entraîner des résultats inexacts (comme illustré dans l'exemple ci-dessous). Il est donc préférable d'utiliser double par défaut, sauf si vous êtes certain que la précision de float est suffisante.

Évidemment, il est possible d'utiliser float ou double pour stocker des nombres entiers, car ce sont des nombres décimaux dont la partie décimale est égale à 0. Cependant, il est recommandé, si une variable ne doit contenir que des valeurs entières (par exemple, une population ou un nombre de mentions « J'aime »), d'utiliser short/int/long.

question mark

Que se passe-t-il si vous essayez d'assigner un nombre supérieur à 2,147,483,647 à une variable de type int ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
some-alt