Posted on 2011-02-22 11:07
alex_zheng 閱讀(570)
評論(0) 編輯 收藏 所屬分類:
java
有時候,我們希望用一個字段保存對象的所屬狀態或分類,當這個值存在多種組合的時候,我們就可以使用位運算來表示組合后的值。
先定義類型A=1,B=2,C=4,D=8,E=16等2的倍數,
那么objectA即屬于A又屬于C,其值為A|C,添加類型使用|(或)運算,移除類型使用^(異或)運算,判斷是否屬于某個類型使用&運算。
A=00000001
B=00000010
C=00000100
D=00001000
E=00010000
objectA = (A|B|C = 00000111)
去除B類型 00000111
^00000010
-------------------------
00000101=(A|C)
判斷是否是A,00000101&00000001 = 00000001