巧用位運算表示屬性分類

          Posted on 2011-02-22 11:07 alex_zheng 閱讀(578) 評論(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



          posts - 10, comments - 9, trackbacks - 0, articles - 15

          Copyright © alex_zheng

          主站蜘蛛池模板: 故城县| 宁城县| 汤阴县| 大邑县| 永定县| 河南省| 深圳市| 禹州市| 昌黎县| 龙川县| 万荣县| 芮城县| 崇阳县| 湄潭县| 泽普县| 江陵县| 兴文县| 日喀则市| 大城县| 芜湖市| 仁化县| 南乐县| 响水县| 四平市| 闽清县| 寿宁县| 洪泽县| 桑日县| 会泽县| 建宁县| 台北县| 白银市| 龙陵县| 奈曼旗| 美姑县| 锡林郭勒盟| 甘孜县| 法库县| 当阳市| 开阳县| 唐海县|