1: 0000 0001 用户管理
2: 0000 0010 新闻管理
4: 0000 0100
8: 0000 1000
当1+2时
1: 0000 0001
2: 0000 0010
-------------------
3:(|)或 0000 0011
当1+2+4时
1: 0000 0001
2: 0000 0010
4: 0000 0100
-------------------
7:(|)或 0000 0111
当(1+2+4)-2 时
1+2+4: 0000 0111
2: 0000 0010
-------------------
(^)异或 0000 0101
当判断(1+2+4)中是否包含2时
0000 0111
0000 0010
-------------------
(&)与 0000 0010
相当于>0
呵呵,通过这种操作就不怕1+1=2了
如:用户现在是(1+2),如果用户由于某种原因又申请了1,如果通过加法3+1=4,这样就成了其他的定义类型。bug 所在
通过 (|)或 操作
1+2: 0000 0011
1: 0000 0001
----------------------------
(|)或 0000 0011
还是1+2 这样就没有bug 了