高手请指教

如"011111110"红色这段,但这些位数是可以扩充的,即红色这段可以加位,现在是以功能来代表这些位,比如"入账",它将对应于第7位,"审核",它将对应于第6位,以此类... 如"011111110"红色这段,但这些位数是可以扩充的,即红色这段可以加位,现在是以功能来代表这些位,比如"入账",它将对应于第7位,"审核",它将对应于第6位,以此类推,高手请指教 展开
 我来答
百度网友ded51e700
2010-08-10
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
这是个跟权限设置相关的东东

通过计算 中间的 11111 五个1 ,而且是可以加位的,那么我们这么算他的结果,当做二进制

11111 = 1*16+1*8+1*4+1*2+1*1 = 31
10000 = 1*16 = 16
10001 = 17
10010 = 18
....
这样的话,每个 功能取向都对应一个特定值,在用户表中我存放这个结果。
当用户登录时,我取出这个结果,比如 17,然后解码就是10001 ,我们可以根据每一位来确定他具有哪些功能。

再来解决下一个问题,中间位是可以加位的,你的意思应该是 不仅仅有五位,中间可能会有六位七位。
这也好解释,如果这个五位不够了,那么我们就需要用六位,比如我现在有六个功能,那么就需要6个1,比如,现在的排列是 100011 ,
那么计算 100011 = 32+2+1 = 35 ,我们存放35到用户表中,而这一操作会影响前面的不足6位的用户吗?答案是肯定不会的。
因为 即使是六位,31 =011111 = 11111 ,所以这是种比较好的权限设计方式。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式