」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 管道等於 (=) 運算子在程式設計中的用途是什麼?

管道等於 (=) 運算子在程式設計中的用途是什麼?

發佈於2024-11-07
瀏覽:947

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 的冪次方:

[&SO&E]DEFAUL = 1 預設振動 = 2 (1 DEFAULT_SOUND = 1 DEFAULT_VIBRATE = 2 (1 這允許使用位元或來新增或刪除標誌。例如:

int myFlags = DEFAULT_SOUND |預設振動; // 001 | 010 = 011
DEFAULT_SOUND = 1
DEFAULT_VIBRATE = 2 (1  新增另一個標誌:

myFlags |= DEFAULT_LIGHTS;
DEFAULT_SOUND = 1
DEFAULT_VIBRATE = 2 (1 ; ]簡單地附加一個新標誌。 

測試標誌存在

位元與運算子(&) 測試是否有標誌:

boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;
DEFAULT_SOUND = 1
DEFAULT_VIBRATE = 2 (1 如果結果是非零,則標誌已設定。 

版本聲明 本文轉載於:1729671437如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3