1. n % 2 == 0
짝수의 수학적 정의는 '2로 나누어 떨어지는 정수'다.
바꿔 말하면 '2로 나눴을 때 나머지가 0인 정수'이며, 이를 식으로 표현하면 위와 같다.
정의에 입각한 식이기 때문에 통상적으로 쓰이는 방법이다.
2. n&1 == 0
1의 이진수는 00000001이다. 즉 LSB(Least Significant Bit, 제일 오른쪽 비트)가 1이다.
반면 짝수를 이진수로 나타내면 bbbbbbb0이 된다(b는 임의의 비트). 즉 LSB는 무조건 0이다.
즉 1과 짝수의 LSB는 서로 다를 수밖에 없다.
따라서 (짝수) AND 1은 0이 되고, (홀수) AND 1은 1이 된다.
$Let\; n\,=\, 13$
$then$
$n\; AND\; 1$
$=\;00001011_{(2)}$
$\;\;\;\;\;00000001_{(2)}$
$--------------$
$\;\;\;\;\;00000001_{(2)}$
$Let\; n\,=\, 14$
$then$
$n\; AND\; 1$
$=\;00001110_{(2)}$
$\;\;\;\;\;00000001_{(2)}$
$--------------$
$\;\;\;\;\;00000000_{(2)}$
'Programming > 과제' 카테고리의 다른 글
재귀함수를 이용한 최소공배수 구하기 (0) | 2021.03.08 |
---|---|
재귀함수를 이용한 최대/최소값 구하기 (0) | 2021.03.08 |
엑셀 컬럼명 암호? (0) | 2021.02.15 |
[과제] 수강신청 프로그램 (0) | 2019.07.04 |
피보나치 수열 (0) | 2019.06.17 |