C で整数リテラルを扱う場合、数値がゼロで始まる場合に特定の動作が発生します。これらの動作は、解釈される数値の基数を中心に展開します。
整数リテラルが 0 で始まる場合、通常、それは基数 8 とも呼ばれる 8 進数として解釈されます。これは、使用される数字が 0 ~ 7 であることを意味します。たとえば、07 は 10 進数値 7 に相当します。
ただし、整数リテラルが 00x の場合は、基数 16 を使用する 16 進数として扱われます。接頭辞 0x で始まり、0 ~ 9 および A ~ F の数字を使用して 10 進数値 0 ~ 15 を表します。
整数リテラルが 08 で始まる場合、この組み合わせが原因でエラーが発生します。 C では未定義です。 8 進数のようなものはありません。 8.
整数リテラルが複数のゼロで始まる場合、最初のゼロを除くすべての先行ゼロは無視されます。たとえば、00016 は 8 進数 16 として解釈され、10 進数の 14 に相当します。これは、016 が 8 進数で 14 を表すためです。
したがって、指定された例では次のようになります。
以上がC では、接頭辞ゼロの数値はどのように解釈されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。