|Bill Allombert on Thu, 24 Nov 2005 09:59:02 +0100|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
On Wed, Nov 23, 2005 at 11:43:23PM +0100, Robert Gerbicz wrote: > Hi! > > Is -5%3=1 correct? In all languages ( c++, basic... ) -5%3 is the > additive inverse of 5%3 so this is -2 This is correct, PARI return the Euclidean remainder which is always non-negative. C/C++ follows the FORTRAN convention whereas the sign of x%n is the product of the sign x and n. This is mathematically a very strange convention, because this make the following implication false: (x-y)%n==0 => x%n==y%n (for example x=-5, y=1, n=3) You call look up he documentation for % using ??% ? ??% %: The expression x % y evaluates to the modular Euclidean remainder of x and y, which we now define. If y is an integer, this is the smallest non-negative integer congruent to x modulo y. Cheers, Bill.