假如使用二进制的 111
来表示增、删、改 这三个权限。这时,在数据表中我们就可以用一个整数来表示一个用户所拥有的权限。
权限 | 值 |
---|---|
增 | 4 |
删 | 2 |
改 | 1 |
相关二进制操作
- 增加权限
假如原来的权限是000
我们想添加一个 删除权限 可以用原来的权限值跟2进行或
运算0|2 = 2
转换成二进制010
如果原来有这个权限,进行同样的运算结果不变 - 查权限
当我们想知道原来有没有这个权限时,可使用与
运算2&2=2 2&4=0
结果不为0
就表示有这个权限 - 删除某一个权限
首先对原权限值取反,再跟要去掉的权限进行或
运算,最后再取反就可以了
>>> ~2
-3
>>> -3|2
-1
>>> ~-1
0
python交互模式