Wiem, że podział całkowity zawsze zwróci tę samą odpowiedź, co obcięcie wyniku zmiennoprzecinkowego, jeśli liczby są dodatnie. Czy to prawda, jeśli jedna lub obie z nich są negatywne?Odcinek całkowity: czy // b == int (a/b) jest prawdziwe dla wszystkich liczb całkowitych a, b?
Byłem po prostu ciekawy, czy istnieje wyrażenie liczby całkowitej, które zwróci te same wyniki w Pythonie 2 i Pythonie 3 (i tak, wiem o from __future__ import division
).
P.S. Zignorujmy teraz przepełnienie zmiennoprzecinkowe.
*”an podział wyrażenie całkowitą, która zwraca te same rezultaty w Pythonie 2 i Python 3 "* Przyjdź ponownie? – NullUserException
@NullUserException, w Pythonie 3, jeśli użyjesz '/' do podzielenia dwóch liczb całkowitych, otrzymasz wynik zmiennoprzecinkowy. Jest to ogromna zmiana w stosunku do Pythona 2. "//" jest teraz konieczne, aby uzyskać stare zachowanie. –
Nadal nie rozumiem, dlaczego auto upcast na float .... wydaje mi się głupie ... Mam na myśli 'int/int = int' jest podstawową zasadą CS ... –