Why is -1/2 evaluated to 0 in C++, but -1 in Python?은 파이썬에서 정수 나누기가 무한대라고 말합니다. 즉, floor
이 결과에 적용됩니다. 함수 int() 음수 무한대 (바닥) 또는 0으로 반올림?
-2
될 것으로 예상했다 연습에
int(-1.5) == -1
를 얻을 동안
int(value)
또한,
floor
처럼 뭔가를 할 것이라고 생각했다.
질문은 다음과 같습니다. 왜 integer division
과 int()
사이의 규칙이 일치하지 않는 이유는 무엇입니까? 합리적인 설명이 있습니까?
음을 참조는 – zhangxaochen
어쩌면는 다큐와 일치 아니다 ... "아니 왜, 워드 프로세서 그렇게 말"처럼 보이지만, 왜 것이 바람직합니다 ? int (-1.0/49 * 49) = 0이지만 int (-1.0/50 * 50) = -1이됩니다. int()가 반올림해서는 안되는 이유는 무엇입니까? – maxy
반올림을위한 명시적인 ['round()'함수] (https://docs.python.org/2/library/functions.html#round)가 있습니다. 'int()'는 명시 적으로 float 값의 정수 부분을 취하며 반올림하지 않습니다. 그것은 다른 작업입니다. –