位運算」在程式開發中的妙用!

2021-08-27 09:12:11 字數 642 閱讀 4369

位運算:

位運算子包括: 與(&)、非(~)、或(|)、異或(^)

&:當兩邊運算元的位同時為1時,結果為1,否則為0。如1100&1010=1000

| :當兩邊運算元的位有一邊為1時,結果為1,否則為0。如1100|1010=1110

~:0變1,1變0

^:兩邊的位不同時,結果為1,否則為0.如1100^1010=0110

它適合用在多狀態位的地方,且各狀態位有交集;如「報告審閱」需要各級領導全部審閱後才能通過:

public class bitwiseoperatorsdemo 

if((status & manager) == manager)

if((status & big_manager) == big_manager)

if((status & boss) == boss)

//經理撤銷審閱

status &= ~manager;

//老闆撤銷審閱

status &= ~boss;

if((status & manager) != manager)

if((status & boss) != boss)

}}

程式中位運算的妙用

程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的。位運算說穿了,就是直接對整數在記憶體中的二進位制位運算。比如,and運算本來是乙個邏輯運算子,但整數與整數之間也可以進行and運算。舉個例子,6的二進位制110,11的二進位制是1011,那麼6 and 11的結果就是2 0010 它是二進位...

位運算在演算法中的應用

leetcode原題位址 題目描述 給定乙個整數,編寫乙個函式來判斷它是否是 2 的冪次方。解法 n n 將除最後一位的1之外的所有的數字置為0 因為 n n 1,所以n n n n 1 例如 7對應的二進位制為0111 7對應的二進位制為1001 7 7 0001 實現 public boolea...

位運算在iOS中的使用

本文主要講解三個運算子 左移 與 或 在ios 中如何使用。我們經常能看到下面這樣的 uiview view uiviewalloc init view.autoresizingmask uiviewautoresizingflexiblewidth uiviewautoresizingflexib...