비트 연산에 대하여
아무도 좋아하지 않는 수학 분야죠. 아니, 애초에 누가 수학을 좋아하나요?
- 이 모듈에는 2개의 화면이 있습니다.
- 비트 연산자 (AND, OR, XOR, NOT)
- 결과 입력란
- 다음 표에서 각 조건의 참/거짓을 1/0으로 바꿔 얻은 두 개의 바이트(byte)와, 화면의 비트 연산자를 활용해 정답을 계산합니다. 표에서 MSB는 가장 높은 자리의 비트(most significant bit), LSB는 가장 낮은 자리의 비트(least significant bit)를 의미합니다.
1번째 바이트 | 비트 | 2번째 바이트 |
---|---|---|
AA 배터리 없음 | MSB | D 배터리가 1개 이상 |
병렬 포트 있음 | 포트가 3개 이상 | |
점등된 NSA 지시등 있음 | 배터리 홀더가 2개 이상 | |
모듈 개수가 (시작 시) 타이머의 분보다 많음 | 점등된 BOB 지시등 있음 | |
점등된 지시등이 1개보다 많음 | 점등되지 않은 지시등이 1개보다 많음 | |
모듈의 개수가 3으로 나눠떨어짐 | 시리얼 넘버의 마지막 숫자가 홀수 | |
D 배터리의 개수가 2보다 적음 | 모듈의 개수가 짝수 | |
포트의 개수가 4보다 적음 | LSB | 배터리가 2개 이상 |
다음은 각 비트 연산자가 설명된 표입니다.
설명 | AND | OR | XOR | NOT |
---|---|---|---|---|
계산 방법 | 각 비트마다, 양쪽 비트가 모두 1이면 결과값은 1입니다. 아니라면 결과값은 0입니다. | 각 비트마다, 양쪽 비트 중 하나라도 1이면 결과값은 1입니다. 아니라면 결과값은 0입니다. | 각 비트마다, 양쪽 비트 중 정확히 하나만 1이라면 결과값은 1입니다. 아니라면 결과값은 0입니다. | 2번째 바이트는 무시합니다. 각 비트마다, 결과값은 비트의 반대 값입니다. |
수학 기호 | bit1 && bit2 | bit1 || bit2 | (bit1 && !bit2) || (!bit1 && bit2) | !bit1 |