6 Stimmen

Was ist die Funktion des Operators ~?

Leider haben mich die Suchmaschinen mit dieser Anfrage im Stich gelassen.

Zum Beispiel:

int foo = ~bar;

12voto

John Millikin Punkte 190278

In C und C++ ist es eine bitweise NOT .

11voto

John Rasch Punkte 60054

Ich nehme an, dass Sie sich aufgrund Ihrer aktivsten Tags auf C# beziehen, aber es ist dasselbe NOT Operator auch in C und C++.

Von MSDN :

Der Operator ~ führt eine bitweise Komplement-Operation an seinem Operanden durch, was zur Folge hat, dass jedes Bit. Bitweise Komplement-Operatoren sind vordefiniert für int, uint, long und ulong.

Beispielprogramm:

static void Main() 
{
    int[] values = { 0, 0x111, 0xfffff, 0x8888, 0x22000022};
    foreach (int v in values)
    {
        Console.WriteLine("~0x{0:x8} = 0x{1:x8}", v, ~v);
    }
}

Ausgabe:

~0x00000000 = 0xffffffff
~0x00000111 = 0xfffffeee
~0x000fffff = 0xfff00000
~0x00008888 = 0xffff7777
~0x22000022 = 0xddffffdd

3voto

Roee Adler Punkte 32367

Es heißt Tilde (für zukünftige Suchvorgänge) und wird normalerweise für bitweises NOT verwendet (d.h. das Komplement jedes Bits)

3voto

Remus Rusanu Punkte 280155

bitweise Negation ergibt das bitweise Komplement des Operanden.

In vielen Programmiersprachen (einschließlich derjenigen der C-Familie) ist die bitweise NOT-Operator "~" (Tilde). Dieser Operator ist nicht zu verwechseln mit dem "logischen Nicht"-Operator, "!" (Ausrufezeichen), der in C++ den gesamten Wert als einen einzigen Booleschen Wert behandelt - er ändert einen wahren Wert in falsch und umgekehrt, und dass C einen Wert von 0 in 1 und einen Wert als 0 zu 0 macht. Das "logische nicht" ist keine bitweise Operation.

1voto

job Punkte 8605

Man nennt es Tilde und es sieht so aus, als ob einige Sprachen es als bitweises NOT verwenden: http://en.wikipedia.org/wiki/Tilde#Computer_languages

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X