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

 





posted @ 2018-04-12 18:13  rcj_飞翔  阅读(114)  评论(0)    收藏  举报