아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

이진수 비트 연산

시간 제한2초메모리 제한512 MB

요약
길이가 같은 두 이진수 문자열이 주어질 때, 두 수의 AND, OR, XOR과 각 수의 보수를 길이와 앞쪽 0을 유지한 채 출력한다.
난이도

쉬움10점 중 2점

유형
문자열, 비트 연산, 구현
정답자
아직 제출이 없습니다

문제

길이가 같은 두 이진수 A와 B가 주어진다. 비트 연산 A & B, A | B, A ^ B, ~A, ~B의 결과를 모두 구하는 프로그램을 작성하시오.

다섯 연산은 모두 같은 자리끼리 비트 단위로 계산한다. 같은 자리의 두 비트가 모두 1일 때만 &의 결과가 1이고, 둘 중 하나 이상이 1이면 |의 결과가 1이고, 두 비트가 서로 다르면 ^의 결과가 1이다. ~는 각 비트를 0은 1로, 1은 0으로 바꾼다.

결과는 모두 입력과 같은 길이의 이진수로 나타내고, 앞자리의 0도 그대로 남긴다.

입력

첫째 줄에 이진수 A, 둘째 줄에 이진수 B가 주어진다. 두 수의 길이는 같고, 그 길이 LL은 1≤L≤1000001 \le L \le 100000을 만족한다.

출력

다섯 줄을 출력한다. 첫째 줄에 A & B, 둘째 줄에 A | B, 셋째 줄에 A ^ B, 넷째 줄에 ~A, 다섯째 줄에 ~B를 출력한다. 각 줄은 길이가 LL인 이진수이고, 앞자리의 0을 생략하지 않는다.

예제2

  1. 예제 1

    입력
    0001011000
    0000101111
    
    예상 출력
    0000001000
    0001111111
    0001110111
    1110100111
    1111010000
    
  2. 예제 2

    입력
    0
    0
    
    예상 출력
    0
    0
    0
    1
    1