Javascript:
var a=209348540618090 | 0;//-1050290838
PHP:
$a= 209348540618090|0;//209348540618090
$a=(209348540618090 & 0xffffffff) | 0; //3244676458
Why is the result of the bitwise operation in PHP different to the bitwise operation in Javascript?