|
Posted by Bruce on 02/18/06 17:31
Actually, this appears to be an issue with how floats are converted to
ints. For example:
$BB = -2181087916;
$AA = (int)$BB;
$AA = intval($BB);
On some systems, $AA will be int(-2147483648), which is actually
consistent with the documentation.
On most systems, however, $AA will be int(2113879380), which is the
same value truncated at 32 bits.
I actually need the latter behavior, as it needs to duplicate Delphi
code, which, like C, behaves the same way.
Any ideas how I can do this?
On Fri, 17 Feb 2006 23:43:49 GMT, Michael Austin
<maustin@firstdbasource.com> wrote:
>
>"The maximum value depends on the system. 32 bit systems have a maximum signed
>integer range of -2147483648 to 2147483647. So for example on such a system,
>intval('1000000000000') will return 2147483647. The maximum signed integer value
>for 64 bit systems is 9223372036854775807."
>
>Depends on system, OS, math libraries, cpu type etc...
[Back to original message]
|