C/C で先頭にゼロがある数値定数を理解する
C/C では、数値定数の先頭に '0' を付けることができます基数または数値体系を示します。この接頭辞は、定数が 8 進数 (基数 8) の値であることを示します。
整数定数として '0123' を使用すると、コンパイラはそれを 8 進数の値として解釈します。 8 進数体系では、「123」は 10 進数値 83 (881 3) を表します。したがって、値を出力すると、123 ではなく 83 が出力されます。
この動作は、C および GCC などの C コンパイラ間で一貫しています。これは、接頭辞「0」が付いた浮動小数点定数にも適用されますが、変換規則は若干異なる場合があります。
数値定数の基数を明示的に指定するには、次の接頭辞を使用できます:
たとえば、10 進数値 123 を 8 進定数として表すには、「0123」を使用します。逆に、8 進数値 83 を 10 進定数として表すには、83 を使用します。
以上がC/C で「0123」が「83」と印刷されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。