位运算符 |、&和逻辑运算符 ||、&& 的区别 |
位运算符
在PHP中,| 和 & 被称为位运算符,两者的含义如下: |: 参加运算的两位运算量有一位为1时,该位为1,否则为0 👍🚤🥚🆘🦬&: 参加运算的两位运算量相应位均为1时该位为1,否则为0 先将运算量转为二进制进行然后进行位对比,看下面的列子: 🤌🌡🍽🅰🐖
逻辑运算符🧓👖✏😇🖕 ||: 逻辑或,左右两边参数都为 FALSE,返回 FALSE,否则返回 TRUE &&: 逻辑或,左右两边参数都为 TRUE,返回 TRUE,否则返回 FALSE 两者区别 🤙🌦🍖♑🦄 逻辑运算符存在短路问题,比如在进行逻辑或(||)运算的时候,如果左边为TRUE,就直接返回TRUE,不再判断右边的结果。而位运算符则不存在短路问题,左右两边都要执行。
帖子热度 3768 ℃
|
|
什么是位运算:
🙌🚈🎂🅿🦜 从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。详细说明: 按位与(&) and👨⚕️👠🖌😘👆 计算方法: 参加运算的两个数,换算为二进制(0、1)后,进行与运算。只有当相应位上的数都是1时,该位才取1,否则该为为0。 例如:3 & 5 = 1
按位或(|) or 计算方法: 🤌🎠🍚🆘🐖 参加运算的两个数,换算为二进制(0、1)后,进行或运算。只要相应位上存在1,那么该位就取1,均不为1,即为0。例如:3 | 5 = 7
按位异或(^) xor 计算方法: 参加运算的两个数,换算为二进制(0、1)后,进行异或运算。只有当相应位上的数字不相同时,该为才取1,若相同,即为0。 🚤🥑🈷🐞 例如:3 ^ 5 = 6
按位取反(~) not 计算方法: 🖕🎢🍒📶🐅参加运算的两个数,换算为二进制(0、1)后,0变1,1变0。 例如:~ 3 = -4
🤙🌞🍏®🐉 |