PS/BOJ
백준 12813번: 이진수 연산 (C++)
도비(Doby)
2022. 4. 26. 22:31
https://www.acmicpc.net/problem/12813
12813번: 이진수 연산
총 100,000 비트로 이루어진 이진수 A와 B가 주어진다. 이때, A & B, A | B, A ^ B, ~A, ~B를 한 값을 출력하는 프로그램을 작성하시오.
www.acmicpc.net
Solved By: Implementation, Bitwise Operation
비트 연산(Bitwise Operation)을 이해하기 위해 풀어본 문제였습니다.
#include <iostream>
using namespace std;
string a, b;
int main(){
cin >> a >> b;
// AND
for(int i = 0; i < a.length(); i++){
if(a[i] == '1' && b[i] == '1'){
cout << 1;
}
else cout << 0;
}
cout << '\n';
// OR
for(int i = 0; i < a.length(); i++){
if(a[i] == '1' || b[i] == '1'){
cout << 1;
}
else cout << 0;
}
cout << '\n';
// XOR
for(int i = 0; i < a.length(); i++){
if(a[i] != b[i]){
cout << 1;
}
else cout << 0;
}
cout << '\n';
// NOT a
for(int i = 0; i < a.length(); i++){
if(a[i] == '1'){
cout << 0;
}
else cout << 1;
}
cout << '\n';
// NOT b
for(int i = 0; i < a.length(); i++){
if(b[i] == '1'){
cout << 0;
}
else cout << 1;
}
cout << '\n';
return 0;
}