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.

----------
files: Screenshot_1.png
messages: 226381
nosy: DenisCrnic
priority: normal
severity: normal
status: open
title: Modulus not returning proper remainder
type: behavior
versions: Python 3.4
Added file: http://bugs.python.org/file36537/Screenshot_1.png

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue22337>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to