PHP CODE:
$var1 = (int)395390486;
$var1 <<= 10 & 0xFF;
print($var1); //outputs 404879857664
C# CODE:
int var1 = 395390486;
var1 <<= 10 & 0xFF;
Debug.WriteLine(var1); //outputs 1152931840
why its doing this ?
PHP CODE:
$var1 = (int)395390486;
$var1 <<= 10 & 0xFF;
print($var1); //outputs 404879857664
C# CODE:
int var1 = 395390486;
var1 <<= 10 & 0xFF;
Debug.WriteLine(var1); //outputs 1152931840
why its doing this ?
Ok I am able to get the same value in PHP by converting to 32 bit with the following function:
function intval32bits($value) {
$value = ($value & 0xFFFFFFFF);
if ($value & 0x80000000)
$value = -((~$value & 0xFFFFFFFF) + 1);
return $value;
}