저는 회사에서 매일 Python 2.4로 작업합니다. 나는 다용도 로그 함수 'log'를 표준 수학 라이브러리에서 사용했고 log (2 ** 31, 2)를 입력했을 때 31.000000000000004를 반환했다.파이썬에서 부정확 한 로그
나는 2의 다른 힘으로 똑같은 일을했으며 완벽하게 작동했습니다. 'log10 (2 ** 31)/log10 (2)'을 실행했고 라운드 31.0을 가졌습니다.
더 진보 된 버전으로 수정되었다고 가정하고 파이썬 3.0.1에서 같은 원래 함수를 실행 해 보았습니다.
왜 이런 일이 발생합니까? 파이썬에서 수학 함수에 약간의 부정확성이있을 수 있습니까?
중복, 누군가 다른 사람이 할 수 있습니다. –
파이썬 3이 부동 소수점 오류를 수정하지 않았 음을 지적해야합니다. 대신 출력 결과는 여유 시간 대신 의도 된 부동 소수점 값을 표시하는 스마트 알고리즘을 사용합니다. –