- 论坛徽章:
- 0
|
按照HonestQiao 的提示做了测试,结果如下:
测试1:
<?
$a=-5547163286;
printf("%s\n",gettype($a));
$b=173240;
printf("%s\n",gettype($b));
$a ^= $b ;
printf("%s\n",gettype($a));
echo $a;
?>
结果:double integer integer -2147310408
测试2:
<?
$a=-5547163286;
printf("%s\n",gettype($a));
$b=(double)173240;
printf("%s\n",gettype($b));
$a ^= $b;
printf("%s\n",gettype($a));
echo $a;
?>
结果:double double integer -2147310408
测试3:
<?
$a=-5547163286;
printf("%s\n",gettype($a));
$b=(double)173240;
printf("%s\n",gettype($b));
$a = (double)($a ^ $b);
printf("%s\n",gettype($a));
echo $a;
?>
结果:double double double -2147310408
运算的结果都是-2147310408,是个错误的值
我现在基本认为php在linux环境下进行大数异或会出现异常或错误
不知大家怎么看 |
|