C/C での 2 進数の操作
プログラミングでは、2 進数はさまざまなタスクに不可欠です。ただし、次のような疑問が生じます: バイナリ リテラルは C または C で直接使用できますか?
質問の文脈では、文字リテラルを const char x = 00010000; として使用して 2 進数を表現しようとしています。失敗します。これは、C では、先頭のゼロがバイナリ リテラルではなく 8 進リテラルとみなされるためです。
幸いなことに、この課題には解決策があります。
GCC 拡張機能
GNU Compiler Collection (GCC) を使用している場合は、その拡張機能を利用できます。 C 14 標準に組み込まれています。この拡張機能を使用すると、0b プレフィックスを使用してバイナリ リテラルを指定できます。例:
int x = 0b00010000;
これは C の 2 進数 00010000 を正しく表します。
16 進数の代替
GCC が使用できない場合、または拡張子を使用したくない場合は、別の解決策として 16 進数を使用することもできます。リテラル。 16 進数は 16 を基数とし、0 ~ 9 および A ~ F の記号を使用して値を表します。 2 進数 00010000 は 16 進数値 10 を使用して表すことができ、C では次のように記述できます。
const char x = 0x10;
以上がC/C でバイナリ リテラルを直接使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。