ホームページ  >  記事  >  Java  >  プログラミングにおけるパイプ等号 (=) 演算子の目的は何ですか?

プログラミングにおけるパイプ等号 (=) 演算子の目的は何ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-23 16:55:011023ブラウズ

What is the Purpose of the Pipe Equal (=) Operator in Programming?

パイプ等号演算子 (=) とは何ですか?

オープンソースのパイプ等号演算子 (|=) に遭遇した開発者ライブラリコードはその意味について疑問に思うかもしれません。この演算子は、論理割り当てと間違われることがよくありますが、重要なビット単位の OR 演算を保持します。

ビット単位 OR について

パイプ等価演算子 |= は = と同じように機能します。以下のコードでは、 |= 演算子は、defaults の元の値と定数 DEFAULT_SOUND を組み合わせています。

notification.defaults |= Notification.DEFAULT_SOUND;

この演算は次と同等です。

notification.defaults = notification.defaults | Notification.DEFAULT_SOUND;

は、ビット単位の OR 演算子を示します。

定数マスクのビット単位 OR

この例では、定数 DEFAULT_SOUND、DEFAULT_VIBRATE、および DEFAULT_LIGHTS は 2 の累乗です。

DEFAULT_SOUND = 1
DEFAULT_VIBRATE = 2 (1 << 1)
DEFAULT_LIGHTS = 4 (1 << 2)

これにより、ビットごとの OR を使用してフラグを追加または削除できるようになります。例:

int myFlags = DEFAULT_SOUND | DEFAULT_VIBRATE; // 001 | 010 = 011

別のフラグの追加:

myFlags |= DEFAULT_LIGHTS;

は、単に新しいフラグを追加します。

フラグの存在のテスト

ビットごとの AND 演算子 (&) は、フラグの存在をテストします。

boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;

結果がゼロ以外の場合、フラグが設定されます。

以上がプログラミングにおけるパイプ等号 (=) 演算子の目的は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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