Aby ustanowić kontekst, mówię tylko o arytmetyce liczb całkowitych, na dużych liczbach całkowitych, więc przejście przez zmiennoprzecinkowe nie jest opcją i użycie liczb ujemnych, więc różnica między podziałką na poziomie wypłaszczonym i obciętym ma znaczenie.Podział na ścięte i wypukłe w Pythonie
Podczas wykonywania podziału na ujemne liczby całkowite, typowy sprzęt i języki programowania rodziny C dają wynik skrócony, np. 1/-2 = 0. Python 2 podaje wynik końcowy, np. 1/-2 = -1.
Niezależnie od argumentów na temat, który jest samoistnie lepszy, czy istnieje sposób, aby Python dał obcinany wynik? Czy robi to jakąś różnicę, jeśli używasz Pythona 3 zamiast 2?
Spróbuj 'int (100000000000000000000000./2)' ... (maszyna 32-bitowa) –
Jeszcze raz mówię tylko o arytmetyce całkowitej, a nie o zmiennoprzecinkowej. Rozumiem powody, dla których podłoga jest wewnętrznie lepsza, ale jak powiedziałem, to jest inne pytanie; to, czego szukam w tym kontekście, to sposób naśladowania zachowania typowego sprzętu i języków programowania. – rwallace
@rwallace: Zobacz moją aktualizację – Abhijit