Arnau Sanchez wrote: >> Dotan Cohen wrote: >>> Second, in Turbo C -111%10=-1 however in python -111%10=9. Is one or >>> the other in error? Is this a known gotcha? I tried to google the >>> subject however one cannot google the symbol %. Thanks in advance. [...] > In fact, what you get in C depends on the compiler and architecture,
Not according to the C standard: When integers are divided, the result of the / operator is the algebraic quotient with any fractional part discarded.(87) If the quotient a/b is representable, the expression (a/b)*b + a%b shall equal a. [...] 87) This is often called ‘‘truncation toward zero’’. [International Standard ISO/IEC 9899:1999, Section 6.5.5 Multiplicative operators, Paragraph 6 and footnote 87] > while Python is always consistent and returns positive remainders. Technically: The modulo operator always yields a result with the same sign as its second operand (or zero) [http://docs.python.org/ref/binary.html] -- --Bryan -- http://mail.python.org/mailman/listinfo/python-list