前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >位运算的运用

位运算的运用

作者头像
苦咖啡
发布2018-04-28 14:41:59
9150
发布2018-04-28 14:41:59
举报
文章被收录于专栏:我的博客我的博客

1.linux当中的位 在linux当中我们经常说777、775、755这个代表什么呢?其实很简单! 我们用1表示拥有执行权限,2表示拥有写入权限,4表示读取权限。 而1可以用1<<0表示(将执行权限放在最右边)其实就是2的0次方; 同样2用1<<1表示(写入权限放在从右边数第二位)2的1次方; 同样4用1<<2表示(从右边数第三位)2的2次方。 而拥有执行和写入的权限就是1+2=3;拥有执行、写入、读取的权限就是1+2+4=7,拥有执行和读取权就是1+4=5; 说明:linux当中的777解析:其中从左开始的第一个数字表示的文件或者文件夹归属用户的权限; 第二个表示文件或者文件夹归属用户组的权限;第三个表示其他用户的权限 这样我们就可以理解了linux的权限了

2.位用于权限管理 在后台管理角色当中一个角色可能有很多权限(增加、删除、修改权限) 我们用1表示增加权限,2表示删除权限,4表示修改权限; 一个用户权限表当中存储的是3,那么他就用于增加和删除的权限; 在程序当中我们如何判断是否拥有权限?

$account = 3;//表示角色存储的权限数字 if($account & (1<<0)) { //判断是否拥有增加权限 //拥有增加权限 } if($account & (1<<1)) { //判断用户是否有删除权限 //用户删除权限 } 如果要给用户增加权限,那么可以使用|(或)运算 比如上面的用户没有修改权限,我们要增加修改权限$account | (1<<;2) 这样实际上是011|100=111;用十进制表示就是7 如果要给用户取消权限,那么可以使用^(异或)运算 比如上面的用户有修改和删除权限,我们去掉删除权限$account ^ (1<<1) 这样实际上是011^010 3.实际应用 判断是否存在属性

代码语言:javascript
复制
$attribute_list  = array(0=>’首发’, ‘独家’, ‘新游’, ‘推荐’, ‘热门’, ‘精品’, ‘封测’, ‘内测’, ‘礼包’, ‘必玩’,’最新’) ;
游戏属性
 $v) :?>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年11月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档