적용 대상: NoSQL
이 문서에서는 Azure Cosmos DB에서 지원하는 비트 연산자에 대해 자세히 설명합니다. 비트 연산자는 JSON 결과 집합을 즉시 구성하는 데 유용합니다. 비트 연산자는 C# 및 JavaScript와 같은 상위 수준의 프로그래밍 언어와 유사하게 작동합니다. C# 비트 연산자의 예는 비트 및 시프트 연산자를 참조하세요.
비트 연산 이해
다음 표에서는 두 값 간의 NoSQL용 API에서 비트 연산에 대한 설명과 예제를 보여 줍니다.
수술 | 오퍼레이터 | 설명 |
---|---|---|
왼쪽 시프트 | << |
왼쪽 값을 지정된 비트 수만큼 왼쪽으로 이동합니다. |
오른쪽 시프트 | >> |
왼쪽 값을 지정된 비트 수만큼 오른쪽으로 이동합니다. |
0 채우기(부호 없는) 오른쪽 시프트 | >>> |
왼쪽 비트를 채우지 않고 지정된 비트 수만큼 왼쪽 값을 오른쪽으로 이동합니다. |
AND | & |
비트 논리 AND를 컴퓨팅합니다. |
OR | | |
비트 논리 OR을 컴퓨팅합니다. |
XOR | ^ |
비트 논리 배타적 OR을 컴퓨팅합니다. |
예를 들어 다음 쿼리는 각 비트 연산자를 사용하고 결과를 렌더링합니다.
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
예제 쿼리의 결과는 JSON 개체입니다.
[
{
"rightShift": 25,
"leftShift": 400,
"zeroFillRightShift": 100,
"logicalAnd": 96,
"logicalOr": 1004,
"logicalExclusiveOr": 908
}
]
중요합니다
Azure Cosmos DB for SQL의 비트 연산자는 JavaScript의 비트 연산자와 동일한 동작을 따릅니다. JavaScript는 숫자를 64비트 부동 소수점 숫자로 저장하지만 모든 비트 연산은 32비트 이진 숫자에서 수행됩니다. 비트 연산을 수행하기 전에 JavaScript는 숫자를 부호 있는 32비트 정수로 변환합니다. 비트 연산이 수행되면 결과가 64비트 JavaScript 숫자로 다시 변환됩니다. JavaScript의 비트 연산자에 대한 자세한 내용은 MDN Web Docs의 JavaScript 이진 비트 연산자를 참조하세요.