Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Der bitweise NICHT-Operator (~) gibt eine Zahl oder ein BigInt zurück, deren binäre Darstellung in jeder Bitposition, für die das entsprechende Bit des Operanden 0 ist, eine 1 und ansonsten eine 0 hat.
Der ~ Operator ist überladen für zwei Typen von Operanden: Zahl und BigInt. Für Zahlen gibt der Operator eine 32-Bit-Ganzzahl zurück. Für BigInts gibt der Operator ein BigInt zurück. Er zwingt den Operanden zuerst zu einem numerischen Wert und prüft dessen Typ. Er führt BigInt NICHT aus, wenn der Operand zu einem BigInt wird; andernfalls wird der Operand in eine 32-Bit-Ganzzahl umgewandelt und das bitweise NICHT für Zahlen durchgeführt.
Der Operator arbeitet mit den Bitdarstellungen der Operanden im Zweierkomplement. Der Operator wird auf jedes Bit angewendet, und das Ergebnis wird bitweise konstruiert.
Die Wahrheitstabelle für den NICHT-Operator lautet:
| 0 | 1 |
| 1 | 0 |
Das bitweise NICHT einer beliebigen 32-Bit-Ganzzahl x ergibt -(x + 1). Zum Beispiel ergibt ~-5 4.
Zahlen mit mehr als 32 Bits verlieren ihre höchstwertigen Bits. Zum Beispiel wird die folgende Ganzzahl mit mehr als 32 Bits in eine 32-Bit-Ganzzahl umgewandelt:
Before: 11100110111110100000000000000110000000000001 After: 10100000000000000110000000000001Warnung: Sie werden möglicherweise Personen sehen, die ~~ verwenden, um Zahlen auf Ganzzahlen zu kürzen. Ein zweimaliges Anwenden des bitweisen NICHT-Operators auf eine beliebige Zahl x gibt x als 32-Bit-Ganzzahl zurück, was zusätzlich führende Bits für Zahlen außerhalb des Bereichs von -2147483648 bis 2147483647 entfernt. Verwenden Sie stattdessen Math.trunc().
Für BigInts gibt es keine Kürzung. Konzeptuell können Sie positive BigInts als eine unendliche Anzahl führender 0-Bits verstehen und negative BigInts als eine unendliche Anzahl führender 1-Bits.
| ECMAScript® 2027 Language Specification # sec-bitwise-not-operator |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.