I do not understand, code
var_dump(decbin(0xFFFFFFFF), 0xFFFFFFFF);
string(32) "11111111111111111111111111111111" float(4294967295)
but if I get value using bitwise operations
$shift = 32;
$mask = ~((1 << (32 - $shift)) - 1);
var_dump(decbin($mask), $mask)
given
string(32) "11111111111111111111111111111111" int(-1)
How I can get 4294967295 ?