C および C でのバイナリ リテラルの操作
2 進数を操作する場合、開発者は多くの場合、コード内でバイナリ リテラルを明示的に表現する必要に遭遇します。 。 C と C では、バイナリ リテラルを処理するネイティブな方法があるかどうかという疑問が生じます。
試みと課題
2 進数を表現する 1 つの試みは、次のとおりです。接頭辞「000」が付いた文字リテラル。 in:
const char x = 00010000;
ただし、数値の先頭のゼロが 8 進数として解釈されるため、このアプローチは機能しません。
バイナリ リテラル用の GCC 拡張
GCC 拡張機能 (現在は C 14 標準の一部となっています) をサポートするコンパイラーの場合、バイナリリテラルは、接頭辞「0b」とその後に続く 2 進数を使用して表現できます。この拡張機能は、コード内で 2 進数を表す直接的な方法を提供します。
int x = 0b00010000;
このコードは、変数 x をバイナリ値 00010000 (基数 2) に明示的に設定します。
注:
この拡張機能はすべてのコンパイラでサポートされているわけではないことに注意することが重要です。移植性が懸念される場合は、16 進リテラルまたはビット単位の演算を使用してバイナリ値を操作することをお勧めします。
以上がC および C でバイナリ リテラルを操作するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。