我正在尝试使用php逻辑运算符执行简单的程序,当我尝试使用〜运算符反转二进制值时它给出了一些符号,而不是实际的反转值也是当我尝试使用<< ,>>它没有给出预期的价值,帮助我? 这是简单的编码
<?php
$n=10;
$bin=decbin($n);
echo $bin;
//for onces complement
$com_value=~$bin; //this statement prints some IIIIIIIIIIIIIIII symbol instead of inverted value
echo $com_value;
$shift_value=$bin<<1;
echo $shift_value; //this printing 2020 as result for binary number of ten 1010
?>
帮助我获得正确的价值,我必须使用它来完成一项任务,提前谢谢
答案 0 :(得分:2)
decbin
返回string
,即0
和1
个字符的序列,其二进制表示为$n
。这是不正确的,因为您要在二进制值上执行~
和<<
,这只是$n
。虽然源代码中$n
“看起来是十进制”,但它会在你的内存中存储为0和1。
尝试将该转化删除为字符串并直接使用$n
。