모듈러 함수
모듈러 함수는 두 수를 나누고 나머지를 반환합니다. 나눗셈 연산과 동일한 입력 값을 사용하지만 나눗셈 결과 대신 "남은" 값을 출력합니다. 예를 들면 다음과 같습니다:
- 7 mod 3 = 1
- 8 mod 3 = 2
나머지가 없으면 결과는 0입니다.
- 9 mod 3 = 0
수학 공식에서 mod 또는 "modulo" 연산자는 퍼센트 기호로 표시되는 경우가 많습니다. 예를 들어 7 mod 3은 다음과 같은 식으로 쓸 수 있습니다:
- 7 % 3 = 1
컴퓨터 과학에서 모듈러 함수는 프로그래밍 언어에 따라 mod(x,y) 또는 이와 비슷한 형태로 작성할 수 있습니다. 예를 들면 다음과 같습니다:
- mod(7,3) = 1
위 함수는 첫 번째 값(피제수)을 두 번째 값(제수)으로 나누고 나머지를 반환합니다. 7 ÷ 3 = 2r1이므로 mod(7,3)의 결과는 1입니다.
모듈러 함수의 활용
모듈러 함수는 컴퓨터 프로그래밍에서 여러 가지 용도로 사용됩니다. 결과는 제수보다 작아야 하므로 결과를 특정 범위로 제한할 수 있습니다. 예를 들어 x가 정수라고 가정하면 mod(x,4)는 0, 1, 2 또는 3만 반환할 수 있습니다. 매 n번째 값을 확인하거나 결과를 제한된 수의 "버킷"으로 분류할 때 유용합니다.
대부분의 프로그래밍 언어에서는 0을 거짓으로 평가하고 다른 수는 참으로 평가합니다. 따라서 모듈러 함수는 불리언 결과를 제공할 수 있습니다. 두 수가 나누어떨어지면 false를, 나누어떨어지지 않으면 true를 반환합니다. 다음은 if 문 안에서 모듈러 함수를 사용하는 예입니다:
if (mod(x,5)) then { ... }
x가 5로 나누어떨어지지 않으면 then 절의 코드가 실행됩니다. x가 5로 나누어떨어지는 경우(5, 10, 15, 20 등)에는 코드가 실행되지 않습니다.
NOTE: 모듈러 함수는 인수로 정수 두 개를 사용하는 경우가 많습니다. 그러나 부동 소수점 수도 사용할 수 있습니다. 두 값이 모두 정수이면 항상 정수가 결과로 나오지만, 하나 이상의 입력값에 소수가 포함되면 결과도 소수가 될 수 있습니다. 예를 들어 8 % 2.5 = 0.5입니다. 8 ÷ 2.5 = 3r0.5이기 때문입니다.
지식 테스트하기