我只对现实世界绝望过,却未对自己绝望过! 收藏本站
登陆 / 注册 搜索

阅读:3.7K   回复: 2

位运算符 |、&和逻辑运算符 ||、&& 的区别

[复制链接]
小执念 古黑浩劫论坛大牛 2020-3-27 23:37 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
位运算符

在PHP中,| & 被称为位运算符,两者的含义如下:

|: 参加运算的两位运算量有一位为1时,该位为1,否则为0
🤙🚠🫑➡🪶‏&: 参加运算的两位运算量相应位均为1时该位为1,否则为0

更详细的运算说明,请看二楼

先将运算量转为二进制进行然后进行位对比,看下面的列子:
🤟🌕🍊♾🦖‎
  1. <?php
  2. $a = 10;        //二进制为:00000000 00000000 00000000 00001010
  3. $b = 20;        //二进制为:00000000 00000000 00000000 00010100
  4. $c = $a | $b;    //二进制为:00000000 00000000 00000000 00011110
    👄🏠🍽™🐂‎
  5. echo $c;        //上面的二进制位运算后结果为30
  6. ?>
复制代码



逻辑运算符👵‍👗🧲☠✊

||: 逻辑或,左右两边参数都为 FALSE,返回 FALSE,否则返回 TRUE
&&: 逻辑或,左右两边参数都为 TRUE,返回 TRUE,否则返回 FALSE

两者区别

👌⛄🍓🅾🐅‌


逻辑运算符存在短路问题,比如在进行逻辑或(||)运算的时候,如果左边为TRUE,就直接返回TRUE,不再判断右边的结果。而位运算符则不存在短路问题,左右两边都要执行。

上一篇
下一篇
帖子热度 3702 ℃

小执念 古黑浩劫论坛大牛 2020-3-27 23:47 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
什么是位运算:

👏🔥®🐤‍从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+-*/)都是叫位运算,即将符号位共同参与运算的运算。

详细说明:

按位与(&) and
👂🧳🍟♾🐶‏计算方法:
参加运算的两个数,换算为二进制(0、1)后,进行与运算。只有当相应位上的数都是1时,该位才取1,否则该为为0。

例如:3 & 5 = 1
  1. 0000 0000 0000 0000 0000 0000 0000 0011     -> 3

    👩‍✈️‎🩲🎺😍🤛


  2. 0000 0000 0000 0000 0000 0000 0000 0101     -> 5
  3. 0000 0000 0000 0000 0000 0000 0000 0001     -> 3 & 5 = 1
复制代码


按位或(|) or
计算方法:

👦‍🩴🪝😚🙌


参加运算的两个数,换算为二进制(0、1)后,进行或运算。只要相应位上存在1,那么该位就取1,均不为1,即为0。

例如:3 | 5 = 7
  1. 0000 0000 0000 0000 0000 0000 0000 0011     -> 3
  2. 0000 0000 0000 0000 0000 0000 0000 0101     -> 5👨‍🎨‎👖⚒😀🦴
  3. 0000 0000 0000 0000 0000 0000 0000 0111     -> 3 | 5 = 7
复制代码


按位异或(^) xor
计算方法:
参加运算的两个数,换算为二进制(0、1)后,进行异或运算。只有当相应位上的数字不相同时,该为才取1,若相同,即为0。
🤝🎠🍏💲🦦‍

例如:3 ^ 5 = 6
  1. 0000 0000 0000 0000 0000 0000 0000 0011     -> 3
  2. 0000 0000 0000 0000 0000 0000 0000 0101     -> 5👨🦱‍🧣🖨🥰🤝
  3. 0000 0000 0000 0000 0000 0000 0000 0110     -> 3 ^ 5 = 6
复制代码



按位取反(~) not
计算方法:🧑‍💻‏👚🖥🤤🦴
参加运算的两个数,换算为二进制(0、1)后,0变1,1变0。

例如:~ 3 = -4
  1. 0000 0000 0000 0000 0000 0000 0000 0011     -> 3
  2. 1111 1111 1111 1111 1111 1111 1111 1100     -> ~ 3 = -4
复制代码

🦴🌞🧊🐂‍



微雨黄昏 「出类拔萃」 2020-3-27 23:37 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

曾梦想仗剑走天涯,因太穷放弃了计划
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表