Study/Programming Language

[C++] 짝수/홀수 판단하는 방법 2가지

찬 주 2025. 3. 31. 12:54

C++에서 짝수/홀수를 판단하는 방법은 크게 2가지가 있다.

1. modulo 연산자 % 사용

가장 흔히 쓰이는 방법이다. 2로 나누었을 때의 나머지 값을 가지고 판단한다.

if (num % 2 == 0) {
	// 짝수
} else {
	// 홀수
}

2. 비트 연산자 & 사용

이진수에서 가장 끝자리(LSB)가 1이면 홀수, 0이면 짝수이다. 비트연산자 &를 사용해서 이진수의 가장 끝 자리를 검사한다.

if (num & 1) {
	// 홀수
} else {
	// 짝수
}

짝수만 판단하고자 할 때 아래와 같이 사용하면 될 것으로 착각할 수 있으나 아니다. 부정 연산자를 사용하는 것이 맞다. AND 연산에 대해 조금만 더 생각해보면 왜 이렇게 해야하는지 알 수 있다.

// X
if (num & 0) {
	// 짝수
}

// O
if (!(num & 1)) {
	// 짝수
}

 

비트 연산은 CPU가 가장 빠르게 처리할 수 있는 연산 중 하나로, 비트 연산자를 사용하는 방법이 더 빠르다. 하지만 % 연산을 사용하는 것이 직관적이기 때문에 상황에 따라 적절하게 사용하면 된다.