Maison >développement back-end >C++ >Comment les nombres avec préfixe zéro sont-ils interprétés en C ?

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

Susan Sarandon
Susan Sarandonoriginal
2024-11-26 12:07:101038parcourir

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!

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