Comment trouvez-vous la plage de valeurs que les types entiers peuvent représenter en C ++?
La taille et de la répartition de la valeur de l'entier des types en C++ sont spécifiques de la plateforme. Valeurs que l'on retrouve sur la plupart des systèmes 32 bits peut être trouvé à Les Variables. Types De Données. - C++ Documentation. Comment déterminez-vous la taille réelle et la portée sont spécifiques à votre système?
source d'informationauteur Bill the Lizard
Vous devez vous connecter pour publier un commentaire.
C Style
limites.h contient les valeurs min et max pour les services de renseignements ainsi que d'autres types de données qui doivent être exactement ce dont vous avez besoin:
Pour une liste complète des constantes et leurs valeurs communes découvrez: Wikipédia - limites.h
Style C++
Il est un modèle de C++ méthode que les autres intervenants ont mentionné l'aide:
qui ressemble à:
et il peut même ne plus futée des choses comme déterminer le nombre de chiffres possible ou si le type de données est signé ou pas:
Prendre un coup d'oeil à
std::numeric_limits
Pourquoi ne pas juste être sûr et l'utilisation de boost types numériques?
ie:
etc
Vous pouvez utiliser les types définis dans stdint.h (ou cstdintsi vous êtes à l'aide de C++), qui font partie du standard C99. Il définit les types avec des noms tels que int32_tu_int8_tint64_tainsi de suite, qui sont garantis pour être portable et indépendant de la plateforme.
Pour plus d'informations: stdint.h
Utiliser le
sizeof()
opérateur en C++ pour déterminer la taille (en octets) d'un type de valeur. La bibliothèque standard de fichier d'en-tête limites.h contient les limites de portée pour l'entier des types de valeur. Vous pouvez exécuter le programme suivant pour apprendre la taille et les limites de portée pour les types d'entiers sur votre système.Vous pouvez obtenir la portée de tout type de données en appliquant les formulla:
[-2 puissance (N-1)] { [+2 puissance (N-1)] - 1 }
Où "N" est la largeur de type de données, par exemple en JAVA, la largeur de l'int est de 32,donc N = 32.
Essayez ceci vous permettra de l'obtenir.
Des opérations bit à bit peut être utilisé pour trouver le nombre de bits et la gamme de int dans une plate-forme.
Voici un exemple que j'ai écrit pour tester la gamme de int sur ma machine.
Et voici mon résultat: