C와 Python의 음수 나머지 연산 방법의 차이
나머지의 수학적 정의는 다음과 같다. $ a = bq + r (0 \leq r \leq \left | b \right | ) $ 하지만, C언어와 Python에서 음수를 포함해 몫과 나머지 계산을 하면, 결과가 다르다. 두 결과 모두 위의 수학적 정의는 만족하지만, 두 언어가 나머지 연산을 하는 방법에 차이가 있다. 아래의 실험결과는, -9 ~ -7 그리고 7~9 의 범위를 3과 -3으로 나눈 몫과 나머지이다. 먼저 몫을 계산하는 방법을 비교해보면, C언어는 몫에 대해서, 버림을 사용한다. 소수점 뒷부분을 모두 버리기 때문에, 나눗셈에 대한 정수부를 얻을 수 있다. Python은 몫에 대해서, 내림을 사용한다. 따라서 음수의 경우 정수부가 바뀌는 현상이 나타난다. ex) C (버림) Python (내림)..
공부기록/C, C++
2020. 4. 24.