Javascript code:
console.log( 1 << 5 );
console.log( 1111044149 << 2 );
Javascript output:
32
149209300
Thanks for the explanations, helped me a lot and I could now make a function to handle this automatically conversion, I had forgotten that detail about 32-bit and 64-bit for lack of attention.
Function
function shift_left_32( $a, $b ) {
return ( $c = $a << $b ) && $c >= 4294967296 ? $c - 4294967296 : $c;
}
Test
var_dump( shift_left_32( 1, 5 ) );
var_dump( shift_left_32( 1111044149, 2 ) );
Output
32
149209300