Edit report at http://bugs.php.net/bug.php?id=51274&edit=1

 ID:               51274
 User updated by:  cduncan at regatta dot com
 Reported by:      cduncan at regatta dot com
 Summary:          Integer overflow does not cast as float
-Status:           Feedback
+Status:           Open
 Type:             Bug
 Package:          *General Issues
 Operating System: Linux
 PHP Version:      5.3.2

 New Comment:

64bit machine, 32bit OS.

Also, wouldn't we expect a 64bit to return:



int(2147483647)

int(2147483648)


Previous Comments:
------------------------------------------------------------------------
[2010-03-11 17:58:30] j...@php.net

Could it possibly be that you're running this on 64bit machine? :)

------------------------------------------------------------------------
[2010-03-11 15:15:38] cduncan at regatta dot com

Description:
------------
The manual (http://php.net/manual/pl/language.types.integer.php)
includes the following segment to cover integer overflow:



<?php

$large_number =  2147483647;

var_dump($large_number);

// output: int(2147483647)



$large_number =  2147483648;

var_dump($large_number);

// output: float(2147483648)

?>



However when I try this on my recently upgraded server they are both
output as int(2147483647)

Test script:
---------------
$large_number =  2147483647;

var_dump($large_number);



$large_number =  2147483648;

var_dump($large_number);



Expected result:
----------------
I expect to see;



int(2147483647)

float(2147483648)



As I do on my box running 5.3.1



Actual result:
--------------
int(2147483647)

int(2147483647)




------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=51274&edit=1

Reply via email to