ホームページ >バックエンド開発 >C++ >C および C で 2 進数を表現するにはどうすればよいですか?

C および C で 2 進数を表現するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-04 11:44:39713ブラウズ

How Can I Represent Binary Numbers in C and C  ?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。