Bug #12243 Updated: Large numbers not behaving as doubles
| From: | cynic@php.net | Date: | Thu, 19 Jul 2001 04:15:34 +0000 |
| Subject: | Bug #12243 Updated: Large numbers not behaving as doubles | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-60255@lists.php.net to get a copy of this message | ||
ID: 12243
Updated by: cynic
Reported By: matysekj@usms.org
Old Status: Bogus
Status: Feedback
Bug Type: Variables related
Operating System: FreeBSD 4.1.1-STABLE
PHP Version: 4.0.6
New Comment:
are you sure you don't initialize the variable with 5 Million on the Linux box?
Previous Comments:
------------------------------------------------------------------------
[2001-07-19 00:03:32] matysekj@usms.org
If this is strictly hardware related, then how come when I run the exact same 2 lines on another box
running linux, I get the correct 5 billion number displayed? The linux box is using an AMD 450 Mhz
K6, and the FreeBSD box is using a Pentium 3-600. I am not able to back up to 4.03PL1 on the
FreeBSD box, but I am quite sure that this problem did not occur back when it was loaded.
------------------------------------------------------------------------
[2001-07-18 23:52:41] cynic@php.net
1) longlong != double
2) the scale is HW-dependant, i. e. you need a 64-bit HW to get native support for 64-bit numbers.
that's how it's always been in PHP. there was no change WIRT this.
5,000,000,000 is clearly more than your HW can take, so it's clipped to the closest possible
value.
------------------------------------------------------------------------
[2001-07-18 23:34:07] matysekj@usms.org
I've verified that this behavior is relatively new. It does not happen in 4.03PL1, but does in
4.05 and 4.06.
------------------------------------------------------------------------
[2001-07-18 23:13:02] matysekj@usms.org
$testnumber = 5000000000;
echo $testnumber;
The result is 2147483647. The variable is of type integer, even though it was initialized with a
double value. I first noticed this with PHP 4.05 and it still occurs with 4.05. I do not believe
it behaved this way back when I had 4.03PL1 installed.
My configure line is:
'./configure' '--with-gd=no' '--with-mysql=/usr/local'
'--with-config-file-path=/usr/home/priraise/phpini' '--enable-debug=no'
'--enable-track-vars=yes' '--enable-ftp=yes'
'--enable-force-cgi-redirect=yes' '--with-openssl'
'--enable-trans-sid' '--enable-xml'
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=12243&edit=1