<?php
/**
*
位逻辑运算符
1:& 按位与 左右两边的数,同位都为1,返回1;否则返回0。
2:| 按位或 左右两侧的数,同位都为0,返回0;否则返回1。
3:^ 按位异或 只有当同位不同时,返回1;否则返回0。
4:~ 按位非 将位中的1变为0,0变为1。
*
位逻辑运算符
1:& 按位与 左右两边的数,同位都为1,返回1;否则返回0。
2:| 按位或 左右两侧的数,同位都为0,返回0;否则返回1。
3:^ 按位异或 只有当同位不同时,返回1;否则返回0。
4:~ 按位非 将位中的1变为0,0变为1。
位移运算符
5:<< 左移运算符 将左边数的二进制位左移右边数指定数量的位,右边空位补0;
6:>> 右移运算符 将左边数的二进制位右移右边数指定数量的位,左边空位补0;
*/
5:<< 左移运算符 将左边数的二进制位左移右边数指定数量的位,右边空位补0;
6:>> 右移运算符 将左边数的二进制位右移右边数指定数量的位,左边空位补0;
*/
//
位逻辑运算符
$a=5;
$b=6;
$a=decbin($a);【把十进制转化为二进制】
$b=base_convert($b,10,2);【由几进制转化为几进制】
echo $a."<br />".$b;
echo "<br />------------------------<br />"
echo $a & $b; //1:& 按位与
echo $a | $b; //2:| 按位或
echo $a ^ $b; //3:^ 按位异或
echo ~a; //4:~ 按位非
结果:
101
110
------------------------
100
111
11 //【011】
11111111111111111111111111111010 //【5的二进制为00000000000000000000000000000101】
$a=5;
$b=6;
$a=decbin($a);【把十进制转化为二进制】
$b=base_convert($b,10,2);【由几进制转化为几进制】
echo $a."<br />".$b;
echo "<br />------------------------<br />"
echo $a & $b; //1:& 按位与
echo $a | $b; //2:| 按位或
echo $a ^ $b; //3:^ 按位异或
echo ~a; //4:~ 按位非
结果:
101
110
------------------------
100
111
11 //【011】
11111111111111111111111111111010 //【5的二进制为00000000000000000000000000000101】
// 位移运算符
$c=5;
echo decbin($c);
echo "<br />------------------------<br />"
echo decbin($c<<1);
echo "<br />------------------------<br />"
echo decbin($c<<1);
结果:
101
------------------------
1010 //【向左侧移动一位变成4位,右侧补0:1010】
------------------------
10 //【向右侧移动一位变成2位,左侧补0:010】
?>