python 2.5 질문드립니다.

air9603의 이미지

제가보는 교재내용중

"나머지 연산자를 사용할때 결과값의 부호는 두번째 연산자의 부호와 일치한다"

>>> -17 % 10

3

>>> 17 % -10

-3

위와같이 나와있는데요. 나머지 값이 왜 3인지 이해가 안갑니다.

오늘 시작한 생초보 입니다. 어리석은 질문이더라도 양해부탁드립니다.

익명 사용자의 이미지

-17 = -2 * 10 + 3

palsuet의 이미지

나머지 연산의 피연산자가 음수일 때는 연산 결과가 수학적으로 정해져 있지 않습니다. 그래서 프로그래밍 언어마다 결과가 다릅니다.

http://en.wikipedia.org/wiki/Modulo_operation

C나 포트란의 경우에는 17 % -10이 7이 됩니다. 각 언어의 매뉴얼을 볼 수 밖에 없습니다. Python의 경우에는 아래 문서를 참고하세요.

https://docs.python.org/2/reference/expressions.html#binary-arithmetic-operations

feel the gravity