java.math.BigInteger.setBit(int n) 返回一个BigInteger,其值相当于BigInteger与指定的设置位。它计算 (this | (1<<n)).
java.math.BigInteger.testBit(int n) 当且仅当所指定的位被置位时返回true。它计算方式为 (this & (1<<n)) != 0).
应用:权限控制
菜单名称 菜单权限值
菜单1 1
菜单2 2
菜单3 3
菜单4 4
4个账户 权限值 二进制
1 6 1 1 0
2 12 1 1 0 0
3 26 1 1 0 1 0
4 30 1 1 1 1 0
0 1 2 3 4
账户 1 F T T F F
账户 2 F F T T F
账户 3 F T F T F
账户 4 F T T T T
1 2 3 4 看成是菜单ID,T 和 F看成表示是否有该菜单权限
个人订阅号