반응형
프로그래밍 언어에서 정수의 홀수/짝수 구분은 비교적 간단한 주제 중 하나입니다.
간단한 주제이면서도 상당히 활용도가 높습니다.
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 연산이 수행되기 때문에 홀짝을 판별할 수 있습니다.
전체적인 사용법은 아래 코드를 통해서 확인 가능합니다.
원하는 방식과 상황에 맞춰서 홀수와 짝수 구분 방법을 선택하면 됩니다.
반응형
'Programming > C&CPP' 카테고리의 다른 글
C++ int를 string으로 변경하는 방법 (0) | 2019.11.15 |
---|---|
C++ std::string 토큰(Token) 분리 방법(Tokenize) (0) | 2018.11.22 |
C++ volatile 키워드 사용 (0) | 2017.08.13 |
Visual C++ 확장 문법 property (0) | 2015.11.04 |
shared_ptr에서 배열(array) delete[]로 해제하는 방법 (0) | 2015.08.27 |