ホームページ  >  記事  >  バックエンド開発  >  0 は C の 8 進数または 10 進数のリテラルですか?

0 は C の 8 進数または 10 進数のリテラルですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-21 18:31:15939ブラウズ

Is 0 an Octal or Decimal Literal in C  ?

8 進数または 10 進数: C の 0 の性質を明らかにする

プログラミングの領域では、リテラル整数の表現が重要です。ゼロが常にゼロであることは重要ではないように思えるかもしれませんが、最近の議論により、0 は 10 進リテラルとして分類されるべきですか、それとも 8 進リテラルとして分類されるべきですか?

C 標準の公開

この質問に答えるために、C 言語標準の核心を掘り下げます。セクション 2.14.2 [lex.icon] によると、整数リテラルは構文に基づいて 10 進数、8 進数、または 16 進数に分類できます。

具体的には、標準では 8 進数リテラルを次のように定義しています。

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

評決: 8 進数かDecimal?

この定義は、0 が 8 進リテラルとして認定されることを明確に示しています。この標準はその立場を明確にしています。他の接頭辞や接尾辞がない場合、 0 は C の 8 進リテラルとして解釈されます。

歴史的コンテキスト

初期のコンピューティングにおける 8 進数リテラルの普及は、8 ビット アーキテクチャの優位性の影響を受けました。しかし、今日では、32 ビットおよび 64 ビット アーキテクチャが広く採用されているため、10 進リテラルがはるかに一般的になってきています。

それにもかかわらず、この標準による 8 進リテラルの認識は、初期のコンピューティングの遺産を思い出させるものとして機能します。古いコードベースとの互換性を提供します。

以上が0 は C の 8 進数または 10 進数のリテラルですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。