Udostępnij za pośrednictwem


Operatory bitowe w usłudze Azure Cosmos DB for NoSQL

DOTYCZY: NoSQL

W tym artykule szczegółowo przedstawiono operatory bitowe obsługiwane przez usługę Azure Cosmos DB. Operatory bitowe są przydatne do konstruowania zestawów wyników JSON na bieżąco. Operatory bitowe działają podobnie do języków programowania wyższego poziomu, takich jak C# i JavaScript. Aby zapoznać się z przykładami operatorów bitowych języka C#, zobacz Operatory bitowe i shift.

Opis operacji bitowych

W poniższej tabeli przedstawiono wyjaśnienia i przykłady operacji bitowych w interfejsie API dla noSQL między dwiema wartościami.

Operacja Operator Opis
Przesunięcie w lewo << Przesuń wartość po lewej stronie o określoną liczbę bitów.
Przesunięcie w prawo >> Przesuń wartość po lewej stronie w prawo przez określoną liczbę bitów.
Przesunięcie w prawo bez znaku (bez znaku) >>> Przesuń wartość po lewej stronie w prawo przez określoną liczbę bitów bez wypełniania lewej większości bitów.
I & Oblicza bitowe wartości logiczne AND.
OR | Oblicza bitowe logiczne OR.
XOR ^ Oblicza bitowe logiczne wyłączność OR.

Na przykład następujące zapytanie używa każdego z operatorów bitowych i renderuje wynik.

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

Przykładowe wyniki zapytania jako obiekt JSON.

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

Ważne

Operatory bitowe w usłudze Azure Cosmos DB for NoSQL są zgodne z tym samym zachowaniem co operatory bitowe w języku JavaScript. Język JavaScript przechowuje liczby liczb zmiennoprzecinkowych 64 bitów, ale wszystkie operacje bitowe są wykonywane na 32-bitowych liczbach binarnych. Przed wykonaniem operacji bitowej język JavaScript konwertuje liczby na liczby ze znakiem 32 bitów. Po wykonaniu operacji bitowej wynik jest konwertowany z powrotem na liczby JavaScript 64 bitów. Aby uzyskać więcej informacji na temat operatorów bitowych w języku JavaScript, zobacz JavaScript binary bitwise operators at MDN Web Docs (Operatory binarne bitowe języka JavaScript w witrynie MDN Web Docs).