5.7.2 비트 집합과 비트 단위 연산자

    방금 본, 부호 없는 타입에 대한 바이너리 표현은 산술 연산과 직접적으로 관련이 없는 용도로 사용할 수 있다. 가령 부호 없는 값을 비트 집합(bit set)으로 해석할 수도 있다. 비트 집합은 기본 집합 V = {0, … , p-1}의 부분집합으로서 bi=1인 i로 구성된다.

    비트 집합에 대해 |, &, ^라는 세 가지 바이너리 연산자를 적용할 수 있으며, 각각 합집합 AB, 교집합 AB, 대칭 차집합(symmetric difference) AΔB를 의미한다.

    ▼ 표 5-6 비트 단위 연산자

    비트 연산

    십진수 값

    16진수 값

    b15 … b0

    집합 연산

    집합 표현

    V

    65535

    0xFFFF

    1111111111111111

     

    {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}

    A

    240

    0x00F0

    0000000011110000

     

    {4, 5, 6, 7}

    ~A

    65295

    0xFF0F

    1111111100001111

    V \ A

    {0, 1, 2, 3, 8, 9, 10, 11, 12, 13, 14, 15}

    -A

    65296

    0xFF10

    1111111100010000

     

    {4, 8, 9, 10, 11, 12, 13, 14, 15}

    B

    287

    0x011F

    0000000100011111

     

    {0, 1, 2, 3, 4, 8}

    A|B

    511

    0x01FF

    0000000111111111

    AB

    {0, 1, 2, 3, 4, 5, 6, 7, 8}

    A&B

    16

    0x0010

    0000000000010000

    AB

    {4}

    A^B

    495

    0x01EF

    0000000111101111

    A Δ B

    {0, 1, 2, 3, 5, 6, 7, 8}

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.