Re: Division [maybe a bug]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2008/5/11 Chris W <2wsxdr5@xxxxxxx>:
> 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?

>  if you are dealing with numbers that large, consider using some arbitrary
> precision math functions that can work with as large of numbers as you need.
>
>
>  http://us3.php.net/manual/en/refs.mathcrypto.math.php
>
>
>
>  --
>  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
>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux