Maison >développement back-end >C++ >Unsigned long int peut-il stocker de manière fiable un nombre à dix chiffres en C ?

Unsigned long int peut-il stocker de manière fiable un nombre à dix chiffres en C ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-31 18:43:021035parcourir

Can unsigned long int Reliably Store a Ten-Digit Number in C  ?

Plages de valeurs des entiers en C

En C , la plage de valeurs que les types entiers peuvent stocker dépend de leur taille et du fait qu'ils soient signés ou non signés. Pour un ordinateur 32 bits, les plages minimales garanties par la norme C sont :

  • short int et int : -32 767 à 32 767
  • entier court non signé et entier non signé : 0 à 65 535
  • int long : -2 147 483 647 à 2 147 483 647
  • unsigned long int : 0 à 4 294 967 295

Compte tenu de ces plages, unsigned long int ne peut pas contenir de manière fiable un nombre à dix chiffres (1 000 000 000 - 9 999 999 999) sur un Ordinateur 32 bits.

Cependant, pour les nombres plus grands, C99 et C 11 ont introduit le type long long int, qui offre une plage plus large :

  • long long int: -9 223 372 036 854 775 807 à 9 223 372 036 854 775 807
  • unsigned long long int: 18 446 744 073 709, 551 615

Avec ces gammes élargies, unsigned long long int offre une capacité suffisante pour stocker un numéro à dix chiffres. Il convient de noter que long long int n'est pas toujours pris en charge par les anciens compilateurs, sa disponibilité doit donc être vérifiée avant de s'y fier.

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!

Déclaration:
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