Re: Division [maybe a bug]
| From: | Chris W | Date: | Mon, 12 May 2008 01:59:39 +0000 |
| Subject: | Re: Division [maybe a bug] | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-274162@lists.php.net to get a copy of this message | ||
jo opp wrote:
2008/5/11 Chris W <2wsxdr5@cox.net>: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.comjo opp wrote: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?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