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