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가 가장 빠르게 처리할 수 있는 연산 중 하나로, 비트 연산자를 사용하는 방법이 더 빠르다. 하지만 % 연산을 사용하는 것이 직관적이기 때문에 상황에 따라 적절하게 사용하면 된다.
'Study > Programming Language' 카테고리의 다른 글
[C++] N진법 <-> 10진법 변환하는 방법 (0) | 2025.04.02 |
---|---|
[C++] cin >> 을 사용해 키 입력 받기 (0) | 2024.11.03 |
[C++] cout << 을 사용해 화면 출력하기 (0) | 2024.05.03 |
[C] typedef: typedef의 사용법과 특징, 구조체 활용 (2) | 2024.03.23 |
[C] 공용체(Union): 공용체 정의와 공용체 변수 선언, 초기화 (1) | 2024.03.23 |