「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > プログラミングにおけるパイプ等号 (=) 演算子の目的は何ですか?

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

2024 年 11 月 7 日に公開
ブラウズ:796

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

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

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

ビット単位 OR について

パイプ等価演算子 |= は = と同じように機能します。以下のコードでは、 |= 演算子はデフォルトの元の値と定数 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 

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

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

別のフラグの追加:

myFlags |= DEFAULT_LIGHTS;

新しいフラグを追加するだけです。

フラグの存在のテスト ]

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

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

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

リリースステートメント この記事は次の場所に転載されています: 1729671437 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3