C および C での 2 進数の操作
C または C で 2 進数を扱うとき、よくある疑問が生じます。バイナリ リテラルのネイティブ表現?
を使用しようとしています8 進表記
上記の例にあるように、2 進数を 00010000 などの 8 進リテラルとして書き込もうとすると、エラーが発生します。 8 進リテラルは、C または C の 2 進数の有効な表現ではありません。
GCC および C 標準のバイナリ リテラル
ただし、GCC を使用している場合は、バイナリ リテラルをサポートする GCC 拡張機能 (C 14 標準に組み込まれている) を利用できます。この拡張機能を使用すると、接頭辞 0b に続いて 2 進数を使用して 2 進数を書くことができます。例:
int x = 0b00010000;
代替ソリューション
GCC を使用していない場合、または拡張機能が利用できない場合、代替ソリューションは 16 進数表現を使用することです。次の価値観を共有するものbinary:
int x = 0x10; // Hexadecimal representation of 00010000
結論
C および C では、バイナリ リテラルの GCC 拡張 0b を使用するか、16 進表現を使用して 2 進数を表現できます。コンパイラの互換性とプロジェクトの要件に最も適したアプローチを選択してください。
以上がC および C で 2 進数を表現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。