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

Mary-Kate Olsen
リリース: 2024-10-23 16:55:01
オリジナル
943 人が閲覧しました

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!