Я не понимаю, код
var_dump(decbin(0xFFFFFFFF), 0xFFFFFFFF);
Распечатать
string(32) "11111111111111111111111111111111" float(4294967295)
но если я получу значение с помощью побитовых операций
$shift = 32;
$mask = ~((1 << (32 - $shift)) - 1);
var_dump(decbin($mask), $mask)
данный
строка(32) "11111111111111111111111111111111" целое число(-1)
Как я могу получить 4294967295?