Big Integer 클래스 (교훈적인 목적)를 개발 중이며 Ruby를 사용하여 테스트 케이스를 생성했습니다. 내 클래스는 다음의 시험에 실패루비와 파이썬의 긴 구분이 GMP와 Java BigInteger와 다른 이유는 무엇입니까?
a = -48197174570431531987668852939807674377435188974148779416366905274642031729688518691
b = 4322669160730708444058642850762359547515258361061655693150034467061
a/b = -11149864303351921 # Ruby answer
나는 내가 다른 툴과 놀라움과 결과를 확인하려고 내 코드에서 버그를 찾을 수 없습니다 : 오.
는 GMP, 자바의 BigInteger와 내 수업이 결과와 일치한다 :
11149864303351920
-11149864303351920
그러나 루비와 파이썬이 일치 :
-11149864303351921
11149864303351920
누군가는 설명 할 수 왜 이런 행동을?하시기 바랍니다.
나는 부정적인 결과가 파이썬과 루비 한 적은 이유를 요구하고있다 생각합니다. 파이썬에서 정수 나누기 플로어 [here is why] (http://python-history.blogspot.com/2010/08/why-pythons-integer-division-floors.html). –
@StevenRumbalski, 네, 그게 제가 찾고 있던 것입니다. – rendon