028.ビット演算子の理解(&、|、^、~、<、>)

1781 ワード

code
 #include <iostream>

//bitset을 인클루드 시킵니다. C++에서는 int,char가아닌 bitset이라는 컨테이너를

//사용하는것이 수월합니다. bitset은 162,163,164장에서 자세히 다룹니다.

#include <bitset>

using namespace std;



int main()

{

    //bit1, bit2세팅

    //bitset에대해서 잘은 모르지만 이해하도록 노력해본다

    bitset<8> bit1;

    bit1.reset(); // 0000 0000

    bit1 = 127; // 0111 1111



    bitset<8> bit2;

    bit2.reset(); // 0000 0000

    bit2 = 0x20; // 32



    //연산

    bitset<8> bit3 = bit1 & bit2;

    bitset<8> bit4 = bit1 | bit2;

    bitset<8> bit5 = bit1 ^ bit2;

    bitset<8> bit6 = ~bit1;

    bitset<8> bit7 = bit1 << 1;

    bitset<8> bit8 = bit1 >> 1;



    //출력

    cout << "bit1 & bit2 : " << bit3 << ", " << bit3.to_ulong() << endl;

    cout << "bit1 | bit2 : " << bit4 << ", " << bit4.to_ulong() << endl;

    cout << "bit1 ^ bit2 : " << bit5 << ", " << bit5.to_ulong() << endl;

    cout << "~bit1 : " << bit6 << ", " << bit6.to_ulong() << endl;

    cout << "bit1 << 1 : " << bit7 << ", " << bit7.to_ulong() << endl;

    cout << "bit1 >> 1 : " << bit8 << ", " << bit8.to_ulong() << endl;



    return 0;

}