더북(TheBook)

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 형태를 추천합니다.

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