Udostępnij za pośrednictwem


Operator uzupełniania: ~

Składnia

~ cast-expression

Uwagi

Operator dopełnienia (~), czasami nazywany operatorem uzupełniania bitowego, daje bitowy dopełnienie operandu. Oznacza to, że każdy bit, który jest 1 w operand jest 0 w wyniku. Z drugiej strony, każdy bit, który jest 0 w operand jest 1 w wyniku. Operand operatora dopełniacza musi być typem całkowitym.

Operator — słowo kluczowe ~

Język C++ określa compl jako alternatywną pisownię dla elementu ~. W języku C alternatywna pisownia jest dostarczana jako makro w nagłówku <iso646.h> . W języku C++, alternatywna pisownia jest słowem kluczowym; użycie iso646.h> lub równoważnego <<ciso646> języka C++ jest przestarzałe. W języku Microsoft C++ /permissive- opcja lub /Za kompilatora jest wymagana do włączenia alternatywnej pisowni.

Przykład

// 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;
}

W tym przykładzie nowa wartość przypisana do y jest uzupełnieniem niepodpisanej wartości 0xFFFF lub 0x0000.

Promocja całkowita jest wykonywana na operandach całkowitych. Typ operandu jest promowany do typu wynikowego. Aby uzyskać więcej informacji na temat promocji całkowitej, zobacz Konwersje standardowe.

Zobacz też

Wyrażenia z operatorami jednoargumentowymi
Wbudowane operatory, pierwszeństwo i kojarzenie języka C++
Jednoargumentowe operatory arytmetyczne