[New-bugs-announce] [issue22337] Modulus not returning proper remainder
report at bugs.python.org
Thu Sep 4 23:40:20 CEST 2014
New submission from DenisCrnic:
Modulus is returning wrong remainder when working with negative numbers.
For example 34%-3 should return 1, but it returns -2.
34/-3=-11, remainder: 1, proof: -11*(-3)+1=34 <--- Math logic (works in Java for example)
but python goes like that:
34/-3=12, remainder: -2. proof: -12*(-3)+(-2)=34 <--- Python logic (works)
I know that python is looking for the int which is the closest to the a (a%b), and is divisible with it, but in this case that's not right. it should seek for the closest integer, which is lower than a, in this case 33
If explanation is not clear enough, reply me, i'll take more time to make it clear.
maybe my theory is wrong, and python syntax works better than in Java.
title: Modulus not returning proper remainder
versions: Python 3.4
Added file: http://bugs.python.org/file36537/Screenshot_1.png
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce