Gamme de types numériques en C ++

Il peut sembler étrange, mais la norme du C ne pas dire exactement comment grand un nombre de chacun des types de données peut accueillir. La norme ne parle que de la taille relative de chaque type de données. Par exemple, il est indiqué que le maximum long int est au moins aussi grande que le maximum int.

Les auteurs de C ++ ne cherchaient pas à être mystérieux. Ils voulaient simplement pour permettre au compilateur de mettre en œuvre absolu le plus rapide possible pour le code de la machine de base. La norme a été conçu pour fonctionner pour tous les différents types de processeurs qui exécutent des systèmes d'exploitation différents.




Cependant, il est utile de connaître les limites de votre mise en oeuvre particulière. Le tableau montre la taille de chaque type de numéro sur un PC Windows en utilisant le / compilateur gcc Code :: Blocks.

Gamme de types numériques dans le bloc / la gcc de code
VariableTaille (octets)PrécisionGamme
court2exact-De 32768 à 32767
int4exact2147483648 2,147,483,647
long4exact-2147483648 2,147,483,647
long long int8exact-9.223.372.036.854.775.808 à 9.223.372.036.854.775.807
flotteur47 chiffres± 3.4028 x 10 ±38
long816 chiffres± 1.7977 x 10 ±308
long double1219 chiffres± 1.1897 x 10 ±4932

Tentative de calculer un nombre qui est au-delà de la gamme de ce type est connu comme un débordement. Le standard C ++ laisse généralement les résultats d'un débordement comme indéfini. Voilà une autre façon que les définisseurs de C ++ sont restés flexible.

Sur le PC, une virgule flottante résultats de débordement dans une exception, qui, si non traitées fera de votre programme de tomber en panne. Aussi mauvais que cela puisse paraître, un débordement d'entier est pire - C ++ génère silencieusement une valeur incorrecte sans se plaindre.


» » » » Gamme de types numériques en C ++