作者HolyXie ( )
看板PHP
标题[请益] integer overflow
时间Sat Nov 11 22:05:47 2006
// it's true also for hexadecimal specified integers between 2^31 and 2^32-1:
var_dump( 0xffffffff );
// output: float(4294967295)
// this doesn't go for hexadecimal specified integers above 2^32-1:
var_dump( 0x100000000 );
// output: int(2147483647)
$million = 1000000;
$large_number = 50000 * $million;
var_dump($large_number);
// output: float(50000000000)
这是从官方的手册来的
当超过 integer 的范围 会使用 float
可是 var_dump( 0x100000000 ); 这个地方不是已经超过 integer 的范围
为何出来的结果不是 float
(虽然它有英文说明 可是我看不懂)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.165.132.231