一个权限管理的问题,比如用一个整型字段表示一个权限,这个整型是下列数字任意个数相加的结果
1-----新增
2-----编辑
4-----删除
8-----审核
16----系统维护
如果是7,则具有新增,编辑,删除的权限。
现在给出一个15,你如何判断它具有新增,编辑,删除,审核的权限呢?

解决方案 »

  1.   

    用判断的方法,if X <15 then ...
      

  2.   

    用一个字节(XXXXXXXX)的数据表示权限(最大值为255),
    00000001表示新增权限(2的0次方 1)
    00000010表示编辑权限(2的1次方 2)
    00000100表示删除权限(2的2次方 4)
    00001000表示审核权限(2的3次方 8)
    00010000表示系统维护(2的4次方 16)
    00000000表示无权限。
    00001111表示有新增编辑删除审核权限。
    给出一个255内的整数,该数与00000001相与结果为0000001表示有新增权限,该数与00011111相与得00011111表示有所有权限,等等,
    15的二进制数为00001111说明他有新增编辑删除审核权限.
      

  3.   

    楼上有理  if (X AND 1) = 1 then ......
      if (X AND 2) = 2 then ......