一、php位运算符
位运算都是对一个数的二进制形式进行运算
1、| 按位或
运算规则:参与运算的两个操作数的二进制形式对应的位进行或运算,如果对应的位,只要有1个为1,那么结果就为1,如果都为0,结果就是0
370.png

2、$ 按位与
运算规则:参与运算的两个操作数的二进制形式对应的位进行或运算,如果对应的位,只要有1个为0,那么结果就为0,如果都为1,结果就是1
371.png

3、^ 按位异或
运算规则:参与运算的两个数的二进制形式对应为,相同为0,不同为1
作用:主要是用于记录相同点
372.png
扩展:两个数$v1、$v2的值调换位置
①、现实中 方法一:
373.png
方式二:先求和再相减
374.png
②、计算机语言方法:
375.png
4、~ 按位非(单目运算符)
运算规则:对一个操作数的二进制形式中的每一位进行取反
376.png
5、<< 左移
运算规则:对二进制数整体向左移指定的位数,移动几次,翻几倍
377.png

6、>> 右移
运算规则:对二进制数整体向右移指定的位数,移动几次,自身除以几
378.png
二、原码、补码、反码
原码:带有正负号的二进制数
反码:正数的反码与原码相同,负数的反码最高位的符号位不变,其余位取反
补码:正数的补码与原码相同,负数的补码在反码的基础上加1.
提示:对于负数,先有补码反推出反码,再由反码反推出原码,再转换为10进制数