php----位运算符
前言:
说实话,php位运算符个人运用的比较少,但是还是得知道,归纳起来,php位运算符主要有以下几种:
"&" 按位与运算:
只有对应的两个二进位均为1时,结果位才为1,否则为0
/* 过程分析: 00001000 00000010 结果: 00000000 */ echo 8&2;//0
"|" 按位或运算
只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
/* 过程分析: 00001000 00000010 结果: 00001010 */ echo 8|2;//10
"^" 按位异或运算
当两对应的二进位相异时,结果为1
/* 过程分析: 00001000 00000010 结果: 00001010 */ echo 8^2;//10
"~" 求反运算
求反运算符~为单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反
echo sprintf('%b',9);//00001001 echo '</br>'; echo sprintf('%b',~9);//11111111111111111111111111110110
"〈〈" 左移运算
其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0(如果移动n位,则其值为a乘以2的n次方)。
echo 48<<4;//等价于48*2^4
>>” 右移运算
其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。(如果移动n位,则其值为a除以2的n次方)。
echo 48>>4;//等价于48/2^4

浙公网安备 33010602011771号