보수 연산자: ~

구문

~ cast-expression

설명

비트 보수 연산자라고도 하는 보수 연산자(~ )는 피연산자의 비트 보수를 생성합니다. 즉, 피연산자의 1인 모든 비트는 결과적으로 0입니다. 반대로 피연산자의 0인 모든 비트는 결과적으로 1입니다. 1의 보수 연산자의 피연산자는 정수 계열 형식이어야 합니다.

~에 대한 연산자 키워드

C++에서는 ~에 대한 대체 맞춤법으로 compl을 지정합니다. C에서는 대체 맞춤법이 <iso646.h> 헤더에 매크로로 제공됩니다. C++에서 대체 맞춤법은 키워드입니다. <iso646.h> 또는 C++에 해당하는 <ciso646>은 더 이상 사용되지 않습니다. Microsoft C++에서는 대체 맞춤법을 사용하도록 설정하려면 /permissive- 또는 /Za 컴파일러 옵션이 필요합니다.

예시

// expre_One_Complement_Operator.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;

int main () {
   unsigned short y = 0xFFFF;
   cout << hex << y << endl;
   y = ~y;   // Take one's complement
   cout << hex << y << endl;
}

이 예제에서 y에 할당된 새 값은 부호 없는 값인 0xFFFF의 1의 보수이거나 0x0000입니다.

정수 계열 확장은 정수 계열 피연산자를 대상으로 수행됩니다. 피연산자가 승격되는 형식은 결과 형식입니다. 정수 계열 승격에 대한 자세한 내용은 표준 변환을 참조하세요.

참고 항목

단항 연산자가 있는 식
C++ 기본 제공 연산자, 우선 순위 및 결합성
단항 산술 연산자