비트 연산에 대하여

아무도 좋아하지 않는 수학 분야죠. 아니, 애초에 누가 수학을 좋아하나요?

  • 이 모듈에는 2개의 화면이 있습니다.
    1. 비트 연산자 (AND, OR, XOR, NOT)
    2. 결과 입력란
  • 다음 표에서 각 조건의 참/거짓을 1/0으로 바꿔 얻은 두 개의 바이트(byte)와, 화면의 비트 연산자를 활용해 정답을 계산합니다. 표에서 MSB는 가장 높은 자리의 비트(most significant bit), LSB는 가장 낮은 자리의 비트(least significant bit)를 의미합니다.
1번째 바이트 비트2번째 바이트
AA 배터리 없음 MSBD 배터리가 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