In JavaScript können Sie den „~“-Operator verwenden, um eine bitweise Negation zu implementieren. Mit der Syntax „~ operand“ kann der „~“-Operator den angegebenen Operanden in eine binäre Ganzzahlform umwandeln und den binären Operanden einzeln ausführen Bits sind invertiert.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
In JavaScript können Sie den „~“-Operator verwenden, um eine bitweise Negation zu implementieren. Zum Beispiel ~1 = -2, ~-3=2, ~true=-2, ~false=-1
Der „~“-Operator kann die binäre Darstellung des angegebenen Werts anzeigen und den binären Operanden Stück für Stück übernehmen . Inverse Operation
Schritt 1: Konvertieren Sie den Operanden in eine 32-Bit-Binär-Ganzzahl.
Schritt 2: Führen Sie den Inversionsvorgang Stück für Stück durch.
Schritt 3: Konvertieren Sie das binäre Einserkomplement in eine dezimale Gleitkommazahl.
Führen Sie eine bitweise NICHT-Operation für 12 durch und der Rückgabewert ist -13.
console.log( ~ 12 ); //返回值-13
Die folgende Abbildung analysiert den Prozess der Durchführung einer bitweisen NICHT-Operation für 12 in Form einer arithmetischen Formel. So berechnen Sie die bitweise Invertierung Eine positive Zahl, 1 ist eine negative Zahl , und die restlichen Bits werden invertiert
十进制 ----> 原码 1 ----> 00000001 -1 ----> 10000001
3. Der inverse Code wird in das Zweierkomplement umgewandelt
Das Komplement einer positiven Zahl ist immer noch der ursprüngliche Code, das Komplement einer negativen Zahl besteht darin, 1 zum Komplement des Komplements hinzuzufügen
十进制 ----> 原码 ----> 反码 1 ----> 00000001 ----> 00000001 -1 ----> 10000001 ----> 11111110
Inverse Operation zum Erhalten der Originalcode
Inverse Operation, um den Originalcode zu erhalten, wandeln Sie zuerst das invertierte Komplement in den inversen Code um,Formel: Einerkomplementcode = Einerkomplement - 1
, dann konvertieren Sie den Einerkomplementcode in den Originalcode, das Vorzeichen Das Bit bleibt unverändert und die anderen Bits werden invertiert十进制 ----> 原码 ----> 反码 ----> 补码 1 ----> 00000001 ----> 00000001 ----> 00000001 -1 ----> 10000001 ----> 11111110 ----> 11111111
(umkehren und dann negieren) tatsächlich bedeutungslos.
十进制 ----> 原码 ----> 反码 ----> 补码 ----> 补码取反 ----> 取反补码转成反码 ----> 转成原码 1 ----> 00000001 ----> 0000001 ----> 00000001 ----> 11111110 ----> 11111101 ----> 10000010
】
Das obige ist der detaillierte Inhalt vonSo führen Sie eine bitweise Negation in Javascript durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!