Re: Division [maybe a bug]

[email protected] (Chris W)
Newsgroups php.general
Message-ID <[email protected]>
jo opp wrote:
> 2008/5/11 Chris W <[email protected]>:
>> jo opp wrote:
>>
>>> Hello!
>>>
>>> $var1= 2155243640%31104000;
>>> $var2= 2147309244%31104000;
>>>
>>> echo $var1 // Return -24651656
>>> echo $var2 // Return 1133244
>>>
>>> $var2 return the correct result, but $var1 is wrong (the correct
>>> result is 9067640)
>>>
>>  Probably because the maximum signed 32 bit integer value is
>>  2,147,483,648
>>
> 
> OK, but with bigger numbers works fine again.
> Right now I made a function to deal with this issue:
> 
> function remainder($dividend,$divisor){
> 	$remainder= $dividend-(floor($dividend/$divisor)*$divisor);
> 	return $remainder;
> }
> 
> What do you think about it?
> 

That will convert the numbers to floating point, which will give you 
round off error if the numbers get too big.

-- 
Chris W
KE5GIX

"Protect your digital freedom and privacy, eliminate DRM,
learn more at http://www.defectivebydesign.org/what_is_drm"

Ham Radio Repeater Database.
http://hrrdb.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.