如何使用位运算符中的^和&
程序员文章站
2022-04-18 10:50:12
...
位操作是程序设计中对位模式按位或二进制数的一元和二元操作。在许多古老的微处理器上,位运算比加减运算略快, 通常位运算比乘除法运算要快很多。在现代架构中,位运算的运算速度通常与加法运算相同(仍然快于乘法运算)。
^:按位异或。将值转化为二进制后进行比较,相同位置只要有一个为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将整个网站生成HTML静态
推荐阅读
-
JavaEE基础day02 1.定义Java中的变量 四类八种 2.变量定义和使用的注意事项 3.数据类型的转换、强制数据类型转换4.算数运算符、比较运算符、逻辑运算符、赋值运算符、三元运算符
-
jQuery中的复合选择器如何使用
-
C#中事件的定义和使用
-
Python中的单下划线和双下划线使用场景详解
-
html标签如何使用php中的变量
-
react开发中如何使用require.ensure加载es6风格的组件
-
jquery中eq和get的区别与使用方法_jquery
-
JavaScript中的call方法和apply方法使用对比
-
Python中运算符"=="和"is"的差别分析
-
IDEA中如何自定义类的注释和方法的注释