Maison > développement back-end > C++ > Est-ce que `long` est garanti d'être au moins 32 bits en C ?

Est-ce que `long` est garanti d'être au moins 32 bits en C ?

Susan Sarandon
Libérer: 2024-10-26 18:10:30
original
771 Les gens l'ont consulté

Is `long` Guaranteed to be at Least 32 Bits in C  ?

Long est-il garanti d'être au moins 32 bits ?

La norme C dicte l'ordre de priorité suivant en termes de stockage de données pour l'intégration types fondamentaux :

sizeof(char) ≤ sizeof(short int) ≤ sizeof(int) ≤ sizeof(long int)
Copier après la connexion

Des précisions supplémentaires sur la taille du caractère sont fournies dans la section 1.7/1 :

The fundamental storage unit in the C++ memory model is the byte. A byte is at least large enough to contain any member of the implementation’s basic character set and is composed of a contiguous sequence of bits, the number of which is implementation-defined.
Copier après la connexion

Cela suggère que sizeof(char) peut être compris entre 1 et n bits, où n dépend de l'implémentation. Cependant, la norme C nécessite également la connaissance de la norme C (1.2/1), qui définit des limites minimales pour les valeurs que long peut accepter :

LONG_MIN = -2147483647 // -(2^31 - 1)
LONG_MAX = +2147483647 //   2^31 - 1
Copier après la connexion

Puisque long doit pouvoir contenir à la fois des valeurs positives et négatives. valeurs jusqu'à ces limites, on en déduit logiquement que long doit avoir une taille d'au moins 32 bits.

En bref, alors que la norme C laisse le nombre de bits dans un octet non spécifié, les limites minimales imposées à LONG_MIN et LONG_MAX impliquent que long doit avoir au moins 32 bits de stockage.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal