Heim >Web-Frontend >js-Tutorial >Wie funktioniert der bitweise ODER-Operator \'|\' in JavaScript?

Wie funktioniert der bitweise ODER-Operator \'|\' in JavaScript?

Susan Sarandon
Susan SarandonOriginal
2024-10-29 03:58:29807Durchsuche

How Does the Bitwise OR Operator

Bitweise Operationen in JavaScript: Enthüllung des Geheimnisses des Single-Pipe-Operators („|“)

Der Single-Pipe-Operator („|“) Der Operator in JavaScript führt bitweise Operationen aus, die für die Manipulation einzelner Bits in Binärdarstellungen unerlässlich sind. Im Gegensatz zu logischen Operatoren wie ||, die Operationen mit booleschen Werten ausführen, arbeiten bitweise Operatoren direkt mit der binären Darstellung von Ganzzahlen.

Konkret ist der bitweise ODER-Operator „|“ berechnet die logische Disjunktion seiner beiden ganzzahligen Operanden. Dies bedeutet, dass für jede Bitposition in den binären Darstellungen der Operanden, wenn mindestens ein Bit 1 ist, das Ergebnisbit 1 ist.

a | b = (a_n OR b_n) FOR ALL n

Da bitweise Operationen jedoch nur bei Ganzzahlen sinnvoll sind, verwendet JavaScript kürzt nicht-ganzzahlige Werte auf ganze Zahlen, bevor die Operation ausgeführt wird. Dies kann zu unerwarteten Ergebnissen führen, wie in den bereitgestellten Beispielen gezeigt:

console.log(0.5 | 0); // 0
console.log(-1 | 0); // -1
console.log(1 | 0); // 1

Im ersten Beispiel wird 0,5 auf 0 gekürzt, bevor die bitweise Operation mit 0 ausgeführt wird. Da beide Operanden 0 sind, ist das Ergebnis ist 0.

Im zweiten Beispiel bleibt -1 (in binärer Darstellung: 111111111111111111111111111111) unverändert, wenn die bitweise oder Operation mit 0 (in binärer Darstellung: 00000000000000000000000000000000) ausgeführt wird, was zu -1.

Im letzten Beispiel bleibt 1 (in binärer Darstellung: 0000000000000000000000000000001) wieder unverändert, was zu 1 führt.

Daher gilt für ganze Zahlen x | 0 gibt einfach x zurück.

Das obige ist der detaillierte Inhalt vonWie funktioniert der bitweise ODER-Operator \'|\' in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn