什麼是管道等於運算子(=)?
在開源中遇到管道等於運算子(|=)的開發者程式庫程式碼可能想知道它的意思。這個運算子經常被誤認為是邏輯賦值,它包含重要的位元 OR 運算。
理解位元 OR
管道等於運算子 |= 與 = 的工作方式相同。在下面的程式碼中, |= 運算子將defaults 的原始值與常數DEFAULT_SOUND 組合起來:
notification.defaults |= Notification.DEFAULT_SOUND;
此操作等效於:
notification.defaults = notification.defaults | Notification.DEFAULT_SOUND;
其中|表示位元或運算符。
常數遮罩中的位元或
在提供的範例中,常數DEFAULT_SOUND、DEFAULT_VIBRATE 和DEFAULT_LIGHTS 是2 的冪次方:
DEFAULT_SOUND = 1 DEFAULT_VIBRATE = 2 (1 << 1) DEFAULT_LIGHTS = 4 (1 << 2)
這允許使用按位或來新增或刪除標誌。例如:
int myFlags = DEFAULT_SOUND | DEFAULT_VIBRATE; // 001 | 010 = 011
再增加一個標誌:
myFlags |= DEFAULT_LIGHTS;
簡單地附加一個新標誌。
測試標誌存在
位元與運算子(&) 檢定是否有標誌:
boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;
如果結果非零,則設定標誌。
以上是管道等於 (=) 運算子在程式設計中的用途是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!