<?php
/**
* 位运算符:
* 1:&按位与:左右两边的数,同位都为1,返回是1,否则返回是0
*/
/*$a = 5;
$b = 6;
$a = decbin($a);//101 十进制转换为二进制
$b = base_convert($b, 10, 2);//110 base_convert() 函数在任意进制之间转换数字
echo $a . "<br/>" . $b;
echo "<br/>--------------------<br/>";
echo $a & $b;//100*/
/*2. | 按位或,只有当同位都为0时,返回0,否则返回1*/
/*$a = 5;
$b = 6;
$a = decbin($a);//101
$b = base_convert($b, 10, 2);//110
echo $a . "<br/>" . $b;
echo "<br/>--------------------<br/>";
echo $a | $b;//111*/
/*3.^ 按位异或 只有当同位不同时,返回1,否则返回0*/
/*$a = decbin($a);//101
$b = base_convert($b, 10, 2);//110
$a = 5;
$b = 6;
echo $a . "<br/>" . $b;
echo "<br/>--------------------<br/>";
echo decbin($a ^ $b);//11*/
//4.~ 按位非 将位中的1变成0,0变为1
/*$a = 5;
$b = 6;
echo $a . "<br/>" . $b;
echo "<br/>--------------------<br/>";
echo decbin(~ $b);//输出:11111111111111111111111111111001*/
/*位移运算符:
1.<< 左移,将左边数的二进制位左移右边数指定数量的位,右边空位补0
*/
/*$a = 5;
$a = decbin($a);//101
echo $a ;
echo "<br/>--------------------<br/>";
echo decbin($a<<1);//输出:11001010*/
//2.<< 右移,将右边数的二进制位右移左边数指定数量的位,左边空位补0
$a = 5;
$a = decbin($a);//101
echo $a ;
echo "<br/>--------------------<br/>";
echo decbin($a>>1);//输出:110010