Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Ausdrücke und Operatoren
  5. Bitweises OR (|)

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Bitweises OR (|)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Derbitweise OR (|) Operator gibt eine Zahl oder einen BigInt zurück, deren binäre Darstellung in jeder Bitposition eine1 hat, für die die entsprechenden Bits eines oder beider Operanden1 sind.

Probieren Sie es aus

const a = 5; // 00000000000000000000000000000101const b = 3; // 00000000000000000000000000000011console.log(a | b); // 00000000000000000000000000000111// Expected output: 7

Syntax

js
x | y

Beschreibung

Der| Operator ist für zwei Typen von Operanden überladen: Zahl undBigInt. Für Zahlen gibt der Operator einen 32-Bit-Ganzzahl zurück. Für BigInts gibt der Operator einen BigInt zurück. Zuerst werdenbeide Operanden in numerische Werte umgewandelt und deren Typen überprüft. Es wird eine BigInt-OR-Operation durchgeführt, wenn beide Operanden zu BigInts werden; andernfalls werden beide Operanden in32-Bit-Ganzzahlen umgewandelt und eine bitweise OR-Operation für Zahlen durchgeführt. EineTypeError wird ausgelöst, wenn ein Operand ein BigInt wird, aber der andere eine Zahl.

Der Operator operiert auf den Bit-Darstellungen der Operanden imZweier-Komplement. Jedes Bit im ersten Operanden wird mit dem entsprechenden Bit im zweiten Operanden gepaart:erstes Bit zuerstem Bit,zweites Bit zuzweitem Bit usw. Der Operator wird auf jedes Bitpaar angewendet, und das Ergebnis wird bitweise konstruiert.

Die Wahrheitstabelle für die OR-Operation ist:

xyx OR y
000
011
101
111
     9 (base 10) = 00000000000000000000000000001001 (base 2)    14 (base 10) = 00000000000000000000000000001110 (base 2)                   --------------------------------14 | 9 (base 10) = 00000000000000000000000000001111 (base 2) = 15 (base 10)

Zahlen mit mehr als 32 Bits werden bei den höchstwertigen Bits abgeschnitten. Zum Beispiel wird die folgende Ganzzahl mit mehr als 32 Bits in eine 32-Bit-Ganzzahl konvertiert:

Before: 11100110111110100000000000000110000000000001After:              10100000000000000110000000000001

Warnung:Sie könnten sehen, dass Leute| 0 verwenden, um Zahlen auf Ganzzahlen zu kürzen. Das bitweise OR einer beliebigen Zahlx mit0 gibtx konvertiert zu einer 32-Bit-Ganzzahl zurück, was zusätzlich führende Bits für Zahlen außerhalb des Bereichs -2147483648 bis 2147483647 entfernt. Verwenden Sie stattdessenMath.trunc().

Für BigInts gibt es keine Trunkierung. Konzeptionell verstehen Sie positive BigInts als mit einer unendlichen Anzahl von führenden0-Bits, und negative BigInts als mit einer unendlichen Anzahl von führenden1-Bits.

Beispiele

Verwendung von bitweisem OR

js
// 9  (00000000000000000000000000001001)// 14 (00000000000000000000000000001110)14 | 9;// 15 (00000000000000000000000000001111)14n | 9n; // 15n

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# prod-BitwiseORExpression

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp