본문 바로가기

Programming/C&CPP

C++ 홀수/짝수(홀짝) 구분 방법

반응형

프로그래밍 언어에서 정수의 홀수/짝수 구분은 비교적 간단한 주제 중 하나입니다.

간단한 주제이면서도 상당히 활용도가 높습니다.

C++에서 간단하게 정수의 홀짝을 구분하는 방법은 다음과 같습니다.


1. % 연산자(Modulus operator)

먼저 % 연산자로 사칙연산 급으로 취급되는 가장 기본적인 연산자입니다.

Modulus operator로 불리며 정수 나눗셈의 몫이 아닌 나머지 값을 리턴합니다.

정수를 2로 나눴을 때 나머지가 0이기 때문에 이것을 기준으로 홀수/짝수 구분이 가능합니다.


2. & 연산자(Bitwise AND operator)

비트 연산자 중 하나인 & 연산자를 사용하는 방법 역시 가능합니다.

짝수 정수의 가장 우측에 있는 비트가 0인 점을 이용하는 방법입니다.

정수와 1을 & 연산자로 연산하면 짝수는 0이 나오기 때문에 쉽게 판별이 가능합니다.


3. std::modulus

마지막으로 C++에서는 std::modulus 라는 함수 객체(Function object)을 제공합니다.

std::modulus는 <functional> 헤더에 포함되어 있습니다.

함수 객체로 % 연산자를 구현했기 때문에 STL에서 제공하는 알고리즘에 사용하기 편리합니다.

std::bind2nd을 사용해서 2를 전달하면 x % 2 연산이 수행되기 때문에 홀짝을 판별할 수 있습니다.


전체적인 사용법은 아래 코드를 통해서 확인 가능합니다.

원하는 방식과 상황에 맞춰서 홀수와 짝수 구분 방법을 선택하면 됩니다.

반응형