位运算符 |、&和逻辑运算符 ||、&& 的区别 |
位运算符
在PHP中,| 和 & 被称为位运算符,两者的含义如下: |: 参加运算的两位运算量有一位为1时,该位为1,否则为0 ⛄🥛♊🐅 &: 参加运算的两位运算量相应位均为1时该位为1,否则为0先将运算量转为二进制进行然后进行位对比,看下面的列子:👨🦱💳😛🤳
逻辑运算符👦👜🗑😥🤌 ||: 逻辑或,左右两边参数都为 FALSE,返回 FALSE,否则返回 TRUE &&: 逻辑或,左右两边参数都为 TRUE,返回 TRUE,否则返回 FALSE 两者区别 👍🏝🍒❌🪰 逻辑运算符存在短路问题,比如在进行逻辑或(||)运算的时候,如果左边为TRUE,就直接返回TRUE,不再判断右边的结果。而位运算符则不存在短路问题,左右两边都要执行。
帖子热度 3773 ℃
|
|
什么是位运算:
🤝🪐🍖ℹ🦚从现代计算机中所有的数据二进制的形式存储在设备中。即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
✊🛩🍊🅰🐤 |