Freigeben über


Bitweise Operatoren in Azure Cosmos DB for NoSQL

GILT FÜR: NoSQL

In diesem Artikel werden die bitweisen Operatoren beschrieben, die von Azure Cosmos DB unterstützt werden. Bitweise Operatoren sind nützlich zum spontanen Erstellen von JSON-Ergebnissätzen. Die bitweisen Operatoren funktionieren ähnlich wie in höheren Programmiersprachen wie C# und JavaScript. Beispiele für bitweise Operatoren in C# finden Sie unter Bitweise Operatoren und Schiebeoperatoren.

Grundlegendes zu bitweisen Operationen

Die folgende Tabelle enthält Erläuterungen und Beispiele für bitweise Operationen in der NoSQL-API für zwei Werte.

Vorgang Bediener BESCHREIBUNG
Verschiebung nach links << Verschieben des linksseitigen Werts um die angegebene Anzahl von Bits nach links.
Verschiebung nach rechts >> Verschieben des linksseitigen Werts um die angegebene Anzahl von Bits nach rechts.
Verschiebung nach rechts ohne Auffüllung (vorzeichenlos) >>> Verschieben des linksseitigen Werts um die angegebene Anzahl von Bits nach rechts ohne Auffüllen der äußersten linken Bits.
AND & Berechnung eines bitweisen logischen AND.
OR | Berechnung eines bitweisen logischen OR.
XOR ^ Berechnung eines bitweisen logischen exklusiven OR.

Die folgende Abfrage verwendet beispielsweise alle bitweisen Operatoren und rendert ein Ergebnis.

SELECT 
    (100 >> 2) AS rightShift,
    (100 << 2) AS leftShift,
    (100 >>> 0) AS zeroFillRightShift,
    (100 & 1000) AS logicalAnd,
    (100 | 1000) AS logicalOr,
    (100 ^ 1000) AS logicalExclusiveOr

Durch die Beispielabfrage entsteht ein JSON-Objekt.

[
  {
    "rightShift": 25,
    "leftShift": 400,
    "zeroFillRightShift": 100,
    "logicalAnd": 96,
    "logicalOr": 1004,
    "logicalExclusiveOr": 908
  }
]

Wichtig

Die bitweisen Operatoren in Azure Cosmos DB for NoSQL folgen dem gleichen Verhalten wie bitweise Operatoren in JavaScript. JavaScript speichert Zahlen als 64-Bit-Gleitkommazahlen, aber alle bitweisen Vorgänge werden für binäre 32-Bit Zahlen ausgeführt. Bevor ein bitweiser Vorgang ausgeführt wird, konvertiert JavaScript Zahlen in ganze 32-Bit-Zahlen mit Vorzeichen. Nach Abschluss des bitweisen Vorgangs wird das Ergebnis in 64-Bit-JavaScript-Zahlen zurückkonvertiert. Weitere Informationen zu den bitweisen Operatoren in JavaScript finden Sie unter JavaScript binary bitwise operators at MDN Web Docs (Binäre bitweise JavaScript-Operatoren in MDN Web-Dokumenten).