否定位不能正常工作PHP

时间:2014-11-05 16:53:33

标签: php bitwise-operators logical-operators

这是我的问题:

<?php
$a = ~5; //0101 => 1010
echo $a;//-6

由于Negate运算符将1转换为0和0,因此输出应至少为10.为什么输出-6作为输出?

1 个答案:

答案 0 :(得分:1)

因为php使用2-complement并将您的新$a视为有符号整数。

请参阅:http://en.wikipedia.org/wiki/Two%27s_complement