C では、接頭辞ゼロの数値はどのように解釈されますか?

Susan Sarandon
リリース: 2024-11-26 12:07:10
オリジナル
958 人が閲覧しました

How Are Zero-Prefixed Numbers Interpreted in C  ?

C のゼロ接頭辞付き数値

C で整数リテラルを扱う場合、数値がゼロで始まる場合に特定の動作が発生します。これらの動作は、解釈される数値の基数を中心に展開します。

8 進数の解釈

整数リテラルが 0 で始まる場合、通常、それは基数 8 とも呼ばれる 8 進数として解釈されます。これは、使用される数字が 0 ~ 7 であることを意味します。たとえば、07 は 10 進数値 7 に相当します。

特殊なケース: 00x

ただし、整数リテラルが 00x の場合は、基数 16 を使用する 16 進数として扱われます。接頭辞 0x で始まり、0 ~ 9 および A ~ F の数字を使用して 10 進数値 0 ~ 15 を表します。

08 のエラー

整数リテラルが 08 で始まる場合、この組み合わせが原因でエラーが発生します。 C では未定義です。 8 進数のようなものはありません。 8.

先行ゼロ シーケンス

整数リテラルが複数のゼロで始まる場合、最初のゼロを除くすべての先行ゼロは無視されます。たとえば、00016 は 8 進数 16 として解釈され、10 進数の 14 に相当します。これは、016 が 8 進数で 14 を表すためです。

したがって、指定された例では次のようになります。

  • 07 は 10 進数の 7 です。
  • 16 は10 進数で 16。
  • 00016 は 10 進数で 14。
  • 05016 は 10 進数で 2574 (は 8 進数として解釈されるため、 14 ではありません)。
  • 08 は有効な値ではないため、コンパイル エラーになります。 8 進数。

以上がC では、接頭辞ゼロの数値はどのように解釈されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート