使用~
- 运算符在PHP中翻转/反转位时,输出包含许多前导符号,如果输出原始整数,这显然是不必要的。在将二进制值解析为整数时,您将看到值不相等。请参阅下面的示例。
$integer = 0b11110; // raw integer
echo "{$integer}: " . decbin($integer) . PHP_EOL; // print integer-value before flipping
$integer = ~$integer; // flipping/inverting the integer
$binary = decbin($integer);
echo "{$integer}: " . $binary . PHP_EOL; // print integer-value after flipping
echo bindec($binary) . PHP_EOL; // print parsed binary-value
是否可以删除前导符号,以便第二次使用echo会输出类似100001
(或00001
}的内容,如果您不带正号/减号因为-31
显然与1111111111111111111111111111111111111111111111111111111111100001
不同。