모듈로 연산 (Modulo Operation)
모듈로 연산(Modulo operation)은 두 수가 주어졌을 때, 하나의 수로 다른 하나를 나눈 나머지를 구하는 것입니다.
이를 기호로 쓰면 A mod B = R 가 됩니다.
많은 프로그래밍 언어에는 자체적인 mod 연산자가 있으며 보통 % 기호로 표시합니다. 하지만 음수에 대해 이 연산자를 사용할 경우 JavaScript와 같은 일부 언어는 음수 결과값을 표시합니다.
즉, 다음과 같은 결과를 얻게 됩니다.
-5 % 3 = -2
하지만 나머지는 정의에 따라 0보다 크거나 같고 나누는 값보다 작아야 하므로 그 결과는 1
이 되어야 할 것입니다.
-5 = 3 * (-2) + 1
모듈로연산(%)의 결과는 한정된 범위에서 시계처럼 반복되기 때문에 배열 Index를 증가/감소시킬 때 유용하게 사용할 수 있습니다. 이 경우 간단히 다음과 같이 작성을 한다면 앞서 본 것과 같이 음수의 경우 원하는 결과를 얻을 수 없습니다.
function mod(n, m) {
return (n % m);
}
이 때는 다음과 같이 코드를 수정하도록 합니다.
function mod(n, m) {
return ((n % m) + m) % m;
}
참고
'프로그래밍 언어 > Javascript' 카테고리의 다른 글
Typescript 환경에서 REST API 호출을 위해 Axios 사용하기 (0) | 2022.07.14 |
---|---|
JavaScript - 타이머 (0) | 2018.07.07 |
JavaScript 오류(Error) 다루기 (0) | 2018.07.01 |
객체, 배열, 함수 (0) | 2018.06.01 |
변수 (0) | 2018.05.31 |