别的禅,我都不修。独你是我的禅,秀色可餐 收藏本站
登陆 / 注册 搜索

阅读:6.1K   回复: 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,不再判断右边的结果。而位运算符则不存在短路问题,左右两边都要执行。

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

小执念 「古黑浩劫」论坛大牛 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 |显示全部楼层

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

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

本版积分规则

快速回复 返回列表