나머지 연산이란 어떤 한 수를 다른 한 수로 나눈 다음 그 나머지값을 구하는 계산법이다.
a modulo n (축약해서
a mod
n, javascript에서는
a %
n)에서
a는 나누어지는 수(피제수, dividend)고
n은 나누는 수(제수, divider)다. 즉 '5 % 2'의 결과는 1이고 '9 % 3'의 결과는 0이다.
정수의 나머지 연산에서 결과는 항상 0과 n-1 사이의 값이 된다(javascript의 경우
a가 양수일 경우에만 해당인듯?).
a % 1의 값은 항상 0이다. 또한
a modulo 0의 값은 undefined이기 때문에 이러한 연산은 프로그래밍 언어에서 오류가 될 것이다. Javascript에서는 NaN(Not a Number)으로 처리된다.
a 또는 n이 음수인 경우는 프로그래밍 언어에 따라 처리하는 방식이 다르다. Javascript에서는 나머지 연산 결과값의 부호는 피제수의 부호를 따른다. 즉 피제수가 양수인 경우 결과값은 항상 양수, 피제수가 음수인 경우 결과값은 항상 음수가 된다.
공식은 피제수 = 몫 * 제수 + 나머지
참고 :