按位與,運算符 “&” , 雙目運算符,其功能讓兩個數的二進制位相與,只有兩個位均為1 的情況,其結果才是1 ,其余情況為0。如:
1&1=1
1&0=0
0&1=0
0&0=0
按位或, 運算符"|" , 雙目運算符,其功能讓兩個二進制位相或 ,只有兩個位均為0情獎品,其結果才是0 , 其余情況為1。 如:
1|1=1
1|0=1
0|1=1
0|0=0
取反, 運算符"~" , 單目運算符,其優先級高於雙目運算符,其功能讓一個數二進制位按位取反,即 1 變 0 , 0 變1。
通過以上三種位運算,實現開關,標志。及枚舉復合特征。如某些特征用 1 ,2 ,4 , 8 ,16 ... 等等,表示 A , B , C , D , E 5 種狀態 ...
則有如下應用場景:
1.如描述張三有 A B C 三種狀態 :ZS = A | B | C
2.李四有 B D E 三種狀態:LS = B | D | E
3.檢查張三是否包含狀態D: ZS & D == D
4.取消李四的E狀態: LS = LS & ~E