一个PHP编程问题,请给解释一下,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/11 17:59:14
<?php
echo ("<br>");
sc = 8;
$a=$c<<2;
echo ("$a \n");
$a=$c^0x23;
echo ("$a");
?>
结果为
32
43

请给解释一下,为什么得这个结果?怎么算出来的?

<<,^都是位运算符!
$a=$c<<2;
将$c中的位向左移动2次(每一次移动都表示乘以2),故$a得32;
$a=$c^0x23;
将在$c和0x23中不同位设为1;即按位异或;
000100^100011=100111,即$a得43;