PHP,按位操作

PHP,按位操作,php,bitwise-operators,Php,Bitwise Operators,我不明白,代码 var_dump(decbin(0xFFFFFFFF), 0xFFFFFFFF); 印刷品 串(32)“11111111111111111111”浮动(4294967295) 但是如果我用逐位运算得到值 $shift = 32; $mask = ~((1 << (32 - $shift)) - 1); var_dump(decbin($mask), $mask) $shift=32; $mask=~(1PHP不支持无符号整数,很可能您有一个32位的有符号整数,对于

我不明白,代码

var_dump(decbin(0xFFFFFFFF), 0xFFFFFFFF);
印刷品

串(32)“11111111111111111111”浮动(4294967295)

但是如果我用逐位运算得到值

$shift = 32;
$mask = ~((1 << (32 - $shift)) - 1);
var_dump(decbin($mask), $mask)
$shift=32;

$mask=~(1PHP不支持无符号整数,很可能您有一个32位的有符号整数,对于所有设置的位都是-1

但是,您可以使用
printf('%u')