前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >mysql 按位取反_按位与,按位异或,按位取反「建议收藏」

mysql 按位取反_按位与,按位异或,按位取反「建议收藏」

作者头像
全栈程序员站长
发布2022-09-22 20:08:32
发布2022-09-22 20:08:32
2.3K0
举报

**& 按位与,相同的不变,否则都算成0

| 按位或,

^ 按位异或,不相同的都算成1**

PHP按位与或 (^ 、&)运算也是很常用的逻辑判断类型,有许多的PHP新手们或许对此并不太熟悉,今天结合一些代码对PHP与或运算做些介绍,先说明下,在PHP中,按位与主要是对二进制数操作:

$a = 1;

$b = 2;

$c = $a^b;

echo $c // 3

?>

十进制1换算成二进制为:00000001

十进制2换算成二进制为:00000010

按位^ 00000011,就是把不相同的都算成1,然后:

$a = 1;

$b = 2;

echo $a & $c; // 1

?>

十进制3换算成二进制为:00000011

十进制1换算成二进制为:00000001

按位& 00000001,就是各个位数相同的不变,否则都算成0,按位“&”后返回值是没意义的,主要是用来判断$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.’的权力 ‘;

}

echo $Pri;

?>

通过一个值就可以区分出很多字段

> $a = hexdec(‘0x10c04000’);

> $b = ($a & 0x0FF00000) >20;

> $c = ($a & 0x000FF000) >12;

> var_dump($a, $b, $c);

> 输出:

> int 281034752

> int 12

> int 4

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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