如何使用位运算符中的^和&
程序员文章站
2022-03-18 10:52:25
...
位操作是程序设计中对位模式按位或二进制数的一元和二元操作。在许多古老的微处理器上,位运算比加减运算略快, 通常位运算比乘除法运算要快很多。在现代架构中,位运算的运算速度通常与加法运算相同(仍然快于乘法运算)。
^:按位异或。将值转化为二进制后进行比较,相同位置只要有一个为1则该位置结果为1,否则为0。举例如下:
$a=1;//二进制为00001 $b=2;//二进制为00010 echo $a^$b;// 00011 就是3,因此输出3
&:按位与。将值转化为二进制后进行比较,相同位置只有两个全为1则该位置结果为1,否则为0。举例如下:
$a=1;//二进制为00001 $b=2;//二进制为00010 $c=3;//二进制为00011 echo $a&$b;// 00000 就是0,因此输出0 echo $a&$c;// 00001 就是1,因此输出1 echo $b&$c;// 00010 就是2,因此输出2
按位&后返回值主要是用来判断$a 是否存在于 $c,因此权限用法比较多。比如
$my_privilege = 15; // 1+2+4+8 拥有全部权限 $Pri = ''; $privilege_arr = array(8=>'增', 4=>'删',2=>'改',1=>'查'); foreach($privilege_arr as $k =>$v){ $k & $my_privilege && $Pri .= '我有'.$v.'的权力<br>'; } echo $Pri;//输出结果
推荐学习:php视频教程
以上就是如何使用位运算符中的^和&的详细内容,更多请关注其它相关文章!
上一篇: php使用递归创建无限级树型菜单
下一篇: PHP中类的继承与用法实例详解
推荐阅读
-
如何使用ps和DW制作网页?使用ps和DW制作网页的方法
-
C#中BitConverter.ToUInt16()和BitConverter.ToString()的简单使用
-
iOS应用UI开发中的字体和按钮控件使用指南
-
Objective-C中类和方法的定义以及协议的使用
-
Winform中在使用VS+svn进行协同开发时添加引用时的相对路径和绝对路径的问题
-
javascript中apply、call和bind的使用区别
-
如何使用PHP实现javascript的escape和unescape函数
-
详解Django中的ifequal和ifnotequal标签使用
-
在风行播放器使用过程中如何切换影片中的配音
-
如何正确理解和使用Activity的4种启动模式