mQueue는 여러 비트 연산을 할 수 있는 프로그래머를 위한 계산기가 필요해졌다.
입력된 연산을 수행하고 2진수, 8진수, 10진수, 16진수로 출력해주는 프로그램을 작성해 보자.
다른 연산들의 경 일반적인 연산과 같으나, shift 연산은 순환 shift를 활용하기로 했다.
순환 shift란 비트를 밀고 남은 공백을 밀려난 비트로 채우는 것이다. 자세한 내용은 아래의 이미지를 참고하자.
왼쪽 - 좌로 1 shift
오른쪽 - 우로 1 shift
초기 정수 N(int_32)과 연산 횟수 C(2<C<300)가 주어진다.
연산자는 +, -, &(bit and), |(bit or), ^(xor), <<(circular left shift), >>(circular right shift)로 7가지가 있다.
연산 횟수 C만큼 연산에 이용할 정수(int_32)와 연산자가 입력된다.
출력 예제를 참고하여 서식에 맞게, 최종 연산 결과를 출력한다.
2진수 32자
8진수 8자
10진수
16진수 8자
48 4
2 <<
-104 &
87 |
16 ^
bin : 00000000000000000000000011000111
oct : 00000307
dec : 199
hex : 000000C7