Description
32비트 정수 a, b에서, if, switch 없이 오직 비트연산자만으로 condition ? a : b를 구현해보세요.
삼항연산자: condition이 true일 때 a, false일 때 b로 평가되는 연산자
사용 가능 연산자: &, |, ^, ~, <<, >>, >>>
>>> 는 논리 오른쪽 시프트 연산자로 부호를 무시하고 0으로 채웁니다.
1. condition이 0 or 1일때 해결 방법을 찾아보세요!
2. condition이 0 or 0이 아닌 모든 수를 지원하도록 해결 방법을 찾아보세요!
아래의 코드에서 /* 연산 */ 부분에 추가적으로 작성하시오.
int main() {
int i; scanf("%d", &i);
int a = 2, b = 4;
int c = /* 연산 */;
printf("%d", c);
}
Input
단 한개의 입력이 들어오며, 0 과 1만 입력이 된다.
Output
0이라면 b를, 1이라면 a를 출력한다.