Überraschungen bei der Ganzzahldivision
Bei der Arbeit mit ganzen Zahlen kann es bei der Division zu einem unerwarteten Ergebnis kommen. Beispielsweise ist 8/-7 gleich -2, wenn beide Zahlen als ganze Zahlen behandelt werden. Das kann verwirrend sein, also lassen Sie uns untersuchen, was passiert.
Erklärung
Die Ganzzahldivision in Python 2, der Version, die Sie offenbar verwenden, folgt einer Konvention namens „ Bodenaufteilung.“ Das bedeutet, dass das Ergebnis auf die nächste ganze Zahl abgerundet wird. In diesem Fall wird -1,143 (das tatsächliche Ergebnis von 8,0/(-7,0)) auf -2 abgerundet.
Dieses Verhalten führt zu interessanten Ergebnissen:
Python 3 und darüber hinaus
In Python 3 hat sich die Ganzzahldivision geändert. Anstatt abzurunden, liefert es ein Gleitkomma-Ergebnis. Beispielsweise wäre 8/(-7) in Python 3 -1,143.
Wenn Sie dennoch eine ganzzahlige Division benötigen, bietet Python 3 den Operator „//“. Dies verhält sich ähnlich wie die Ganzzahldivision in Python 2, wobei auf die nächste Ganzzahl abgerundet wird.
Die Überraschung „beheben“
Die offensichtliche Überraschung im Ergebnis der Ganzzahldivision kann sein Durch ein Upgrade auf Python 3 „behoben“. Dies führt zu einem Gleitkomma-Ergebnis, das die wahre mathematische Operation repräsentativer darstellt. Alternativ können Sie den Operator „//“ in Python 3 verwenden, um das gleiche Verhalten wie die Ganzzahldivision in Python 2 zu erreichen.
Das obige ist der detaillierte Inhalt vonUnerwartete Ergebnisse bei der Ganzzahldivision: Warum ist 8/-7 = -2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!