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 :

Type de données
Plage
Taille
short
-32,768 to 32,767
2 bytes
int
-2,147,483,648 to 2,147,483,647
4 bytes
long
-9223372036854775808 to 9223372036854775807
8 bytes

Il est possible d'utiliser long pour stocker de grands nombres (par exemple, la population mondiale). Il est également possible d'utiliser short si le nombre ne dépassera pas la plage de -32,768 à 32,767 (par exemple, pour stocker l'âge d'un utilisateur). L'utilisation de short occupe moins d'espace mémoire.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> int main() { short age = 22; int likes = 143200; long population = 8200000000; std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }

Remarque

Faites attention au type de données que vous sélectionnez. Si la plage d’un type est dépassée, le compilateur C++ ne vous en informera pas, et vous pourriez 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 nous essayons d’assigner 1.6 à l’un d’eux, voici ce que nous obtiendrions :

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.

Type de données
Précision
Taille
float
7 chiffres décimaux
4 octets
double
15 chiffres décimaux
8 octets

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

Remarque

Étant donné que le type float ne possède 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.

Il est évidemment 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, la population ou le nombre de mentions J'aime), d'utiliser short/int/long.

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 :

Type de données
Plage
Taille
short
-32,768 to 32,767
2 bytes
int
-2,147,483,648 to 2,147,483,647
4 bytes
long
-9223372036854775808 to 9223372036854775807
8 bytes

Il est possible d'utiliser long pour stocker de grands nombres (par exemple, la population mondiale). Il est également possible d'utiliser short si le nombre ne dépassera pas la plage de -32,768 à 32,767 (par exemple, pour stocker l'âge d'un utilisateur). L'utilisation de short occupe moins d'espace mémoire.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> int main() { short age = 22; int likes = 143200; long population = 8200000000; std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }

Remarque

Faites attention au type de données que vous sélectionnez. Si la plage d’un type est dépassée, le compilateur C++ ne vous en informera pas, et vous pourriez 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 nous essayons d’assigner 1.6 à l’un d’eux, voici ce que nous obtiendrions :

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.

Type de données
Précision
Taille
float
7 chiffres décimaux
4 octets
double
15 chiffres décimaux
8 octets

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

Remarque

Étant donné que le type float ne possède 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.

Il est évidemment 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, la population ou le nombre de mentions J'aime), d'utiliser short/int/long.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
some-alt