Code: Alles auswählen
>>> 240/64
3
>>> -240/64
-4
>>> int(-3.75)
-3
>>> -240/-64
3
>>> 240/-64
-4
Code: Alles auswählen
>>> 240/64
3
>>> -240/64
-4
>>> int(-3.75)
-3
>>> -240/-64
3
>>> 240/-64
-4
For (plain or long) integer division, the result is an integer. The result is always rounded towards minus infinity: 1/2 is 0, (-1)/2 is -1, 1/(-2) is -1, and (-1)/(-2) is 0. Note that the result is a long integer if either operand is a long integer, regardless of the numeric value.
Was haben Mathematik und die Umsetzung von Rundung in Java denn gemeinsam? Beide Arten zu Runden sind prinzipiell korrekt und haben ihre Vor- und Nachteile. Bei Python hat man sich eben für die mathematisch konsistente Variante entschieden.bone2 hat geschrieben:mit verwirrend meine ich nur, das das gegen meine antrainierte mathelogik im kopf geht. hatte so einen fall noch nie. java rundet zB auch nicht richtung -∞ sondern schneidet richtung 0 ab.
Code: Alles auswählen
from __future__ import division