Maison > développement back-end > C++ > le corps du texte

Comment les nombres avec préfixe zéro sont-ils interprétés en C ?

Susan Sarandon
Libérer: 2024-11-26 12:07:10
original
958 Les gens l'ont consulté

How Are Zero-Prefixed Numbers Interpreted in C  ?

Nombres avec préfixe zéro en C

Lorsqu'il s'agit de littéraux entiers en C , certains comportements surviennent lorsque le nombre commence par zéro. Ces comportements tournent autour de la base du nombre interprété.

Interprétation octale

Lorsqu'un littéral entier commence par zéro, il est généralement interprété comme un nombre octal, également connu sous le nom de base 8. Cela signifie que les chiffres utilisés sont de 0 à 7. Par exemple, 07 est équivalent à la valeur décimale 7.

Cas particulier : 00x

Cependant, lorsqu'un littéral entier est 00x, il est traité comme un nombre hexadécimal, qui utilise la base 16. Il commence par le préfixe 0x et utilise les chiffres 0 à 9 et A à F pour représenter les valeurs décimales 0 à 15.

Erreur avec 08

Une erreur se produit lorsqu'un littéral entier commence par 08 car cette combinaison n'est pas défini en C . Le chiffre octal 8 n'existe pas.

Séquence de zéros en tête

Si un littéral entier commence par plusieurs zéros, tous les zéros en tête, sauf le premier, sont ignorés. Par exemple, 00016 est interprété comme le nombre octal 16, ce qui équivaut à la valeur décimale 14. En effet, 016 représente 14 en octal.

Par conséquent, dans vos exemples donnés :

  • 07 est 7 en décimal.
  • 16 est 16 en décimal.
  • 00016 vaut 14 en décimal.
  • 05016 vaut 2574 en décimal (pas 14, car il est interprété comme une valeur octale).
  • 08 entraîne une erreur de compilation car ce n'est pas un octal valide chiffre.

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