Types 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
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 | ||
---|---|---|
short | 2 bytes | |
int | 4 bytes | |
long | 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
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
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 | ||
---|---|---|
float | ||
double |
Voici un exemple d’utilisation de double
pour stocker 1.6
.
main.cpp
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'utiliserdouble
par défaut, sauf si vous êtes certain que la précision defloat
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
.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
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
Types 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
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 | ||
---|---|---|
short | 2 bytes | |
int | 4 bytes | |
long | 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
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
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 | ||
---|---|---|
float | ||
double |
Voici un exemple d’utilisation de double
pour stocker 1.6
.
main.cpp
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'utiliserdouble
par défaut, sauf si vous êtes certain que la précision defloat
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
.
Merci pour vos commentaires !