12.1 비트 연산자

    비트 연산자(bit operator)는 정수형 데이터의 값을 이진수 비트 단위로 연산을 수행할 때 사용합니다. 비트 연산자의 종류는 다음 표와 같습니다.

    ▼ 표 12-1 비트 연산자

    연산자

    의미

    설명

    &

    논리곱(AND)

    비트 값이 둘 다 1일 때만 1, 그렇지 않으면 0

    |

    논리합(OR)

    비트 값이 하나라도 1이면 1, 그렇지 않으면 0

    ^

    배타적 논리합(XOR, Exclusive OR)

    비트 값이 서로 다를 때만 1, 그렇지 않으면 0

    ~

    NOT

    비트 값이 1이면 0, 0이면 1

     

    비트 AND 연산자(&) 사용하기

    본격적으로 비트 연산자를 사용해 볼까요? 먼저 비트 AND 연산자인 & 연산자를 사용해 봅시다.

    > byte x = 0b1010; //10
    > byte y = 0b1100; //12
    > Console.WriteLine($" {Convert.ToString(x, 2)}  -> {x}"); //x를 이진수 -> 십진수
    1010 -> 10
    > Console.WriteLine($"& {Convert.ToString(y, 2)} -> {y}"); //y를 이진수 -> 십진수
    & 1100 -> 12
    >
    > //x AND y를 이진수로 표현 -> 십진수로 2칸 잡고 표현
    > Console.WriteLine($" {Convert.ToString(x & y, 2)} -> {x & y, 2}");
      1000 -> 8

    비트 AND 연산자인 & 연산자처럼 항을 2개 갖는 2항 연산자는 앞뒤로 공백을 두면 가독성이 좋습니다. x%y보다는 x % y 형태를 추천합니다.

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