巧用位運算表示屬性分類

          Posted on 2011-02-22 11:07 alex_zheng 閱讀(573) 評論(0)  編輯  收藏 所屬分類: java
          有時候,我們希望用一個字段保存對象的所屬狀態(tài)或分類,當(dāng)這個值存在多種組合的時候,我們就可以使用位運算來表示組合后的值。
          先定義類型A=1,B=2,C=4,D=8,E=16等2的倍數(shù),
          那么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

          主站蜘蛛池模板: 舞阳县| 兴义市| 兰溪市| 龙井市| 高雄市| 民县| 田东县| 中西区| 略阳县| 故城县| 衢州市| 灌云县| 新巴尔虎右旗| 齐齐哈尔市| 淮北市| 禄劝| 宁远县| 锦州市| 巩留县| 宜黄县| 尚义县| 昂仁县| 太湖县| 新河县| 修武县| 甘德县| 黑河市| 灵台县| 阳高县| 楚雄市| 五原县| 临沂市| 罗江县| 高雄市| 漾濞| 离岛区| 东乡| 雷波县| 商洛市| 贞丰县| 彭阳县|