더북(TheBook)

비트 NOT 연산자(~) 사용하기

비트 NOT 연산자인 ~ 연산자는 물결(틸드) 기호를 사용합니다. ~ 연산자는 비트 값이 1이면 0으로, 0이면 1로 바꿉니다. 이렇게 비트가 바뀌는 것을 ‘비트 반전’이라고 합니다.

> using static System.Console;
>
> byte x = 0b_0000_1010; //10
>
> //x를 8자리 이진수로 표현 -> 십진수로 3자리 잡고 표현
> WriteLine($"~ {Convert.ToString(x, 2).PadLeft(8, '0')} -> {x, 3}");
~ 00001010 -> 10
>
> //NOT x를 8자리 이진수로 표현 -> 십진수로 3자리 잡고 표현
> WriteLine($" {Convert.ToString((byte)~x, 2).PadLeft(8, '0')} -> {~x, 3}");
  11110101 -> -11

음수를 이진수로 표현하는 것은 2의 보수법을 활용합니다. C#은 알아서 이진수 값을 양수 또는 정수로 출력해 줍니다.

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