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