더북(TheBook)

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}

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