Maison >développement back-end >C++ >0 est-il un littéral octal ou décimal en C ?

0 est-il un littéral octal ou décimal en C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-21 18:31:15973parcourir

Is 0 an Octal or Decimal Literal in C  ?

Octal ou décimal : dévoiler la nature de 0 en C

Dans le domaine de la programmation, la représentation d'entiers littéraux revêt une importance. Bien qu'il puisse sembler sans conséquence que zéro soit toujours zéro, une discussion récente a soulevé une question : 0 doit-il être classé comme un littéral décimal ou un littéral octal ?

Dévoilement de la norme C

Pour répondre à cette question, nous plongeons au cœur du standard du langage C. Selon la section 2.14.2 [lex.icon], un littéral entier peut être classé comme décimal, octal ou hexadécimal en fonction de sa syntaxe.

Plus précisément, la norme définit un littéral octal comme :

octal-literal:
    0                           <-- Here
    octal-literal octal-digit

Le Verdict : Octal ou Décimal ?

Cette définition indique sans équivoque que 0 est considéré comme un littéral octal. La norme a clairement indiqué sa position : en l'absence de tout autre préfixe ou suffixe, 0 doit être interprété comme un littéral octal en C .

Contexte historique

La prévalence des littéraux octaux dans les premiers ordinateurs a été influencée par la domination des architectures 8 bits. Aujourd'hui, cependant, avec l'adoption généralisée des architectures 32 bits et 64 bits, les littéraux décimaux sont devenus beaucoup plus courants.

Néanmoins, la reconnaissance par la norme des littéraux octaux rappelle l'héritage des débuts de l'informatique. et offre une compatibilité avec les anciennes bases de code.

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