ホームページ > バックエンド開発 > C++ > C/C でバイナリ リテラルを直接使用できますか?

C/C でバイナリ リテラルを直接使用できますか?

Patricia Arquette
リリース: 2024-12-22 04:44:10
オリジナル
902 人が閲覧しました

Can I Use Binary Literals Directly in C/C  ?

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート