~

설명

C++ 안의 비트 NOT 연산자는 물결 ~ 이다. & 및 | 와 달리 비트 NOT 연산자는 오른쪽에 있는 단일 피연산자에 적용된다. 비트 NOT는 각 비트를 반대로 바꾼다: 0은 1이 되고, 1은 0이 된다.

다른 말로:

0 1 operand1 ----- 1 0 ~operand1

예제 코드

int a = 103; // 이진수: 0000000001100111 int b = ~a; // 이진수: 1111111110011000 = -104

※ 주의 및 경고:

이 연산의 결과로 -104 같은 음수를 보고 놀랄 수 있겠다. 이것은 int 변수의 가장 높은 비트가 소위 부호 비트이기 때문. 가장 높은 비트가 1이면, 숫자는 음수로 해석된다. 이 양수와 음수 인코딩은 2의 보수라고 불린다. 자세한 내용은, 위키백과 two's complement 를 보세요.

어떤 정수 x 에 대해, ~x 는 -x-1 과 같다는 것을 주목하는 것이 흠미롭다.

때로 부호있는 정수 식에서 부호 비트는 원치않는 놀라움을 일으킬 수 있다.

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.