巧用位運(yùn)算表示屬性分類

          Posted on 2011-02-22 11:07 alex_zheng 閱讀(572) 評(píng)論(0)  編輯  收藏 所屬分類: java
          有時(shí)候,我們希望用一個(gè)字段保存對(duì)象的所屬狀態(tài)或分類,當(dāng)這個(gè)值存在多種組合的時(shí)候,我們就可以使用位運(yùn)算來(lái)表示組合后的值。
          先定義類型A=1,B=2,C=4,D=8,E=16等2的倍數(shù),
          那么objectA即屬于A又屬于C,其值為A|C,添加類型使用|(或)運(yùn)算,移除類型使用^(異或)運(yùn)算,判斷是否屬于某個(gè)類型使用&運(yùn)算。
          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

          主站蜘蛛池模板: 普兰县| 高淳县| 庐江县| 平湖市| 乌鲁木齐县| 六枝特区| 桐柏县| 龙州县| 吴堡县| 榆社县| 松桃| 深水埗区| 中西区| 金沙县| 临湘市| 汉川市| 兴和县| 津南区| 田阳县| 贵溪市| 翁牛特旗| 巧家县| 通许县| 司法| 三门峡市| 永济市| 三门县| 钦州市| 古田县| 喀喇| 平远县| 呼伦贝尔市| 龙川县| 临潭县| 兴和县| 武安市| 彰武县| 三明市| 平湖市| 邵武市| 开平市|