Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
✅ Azure Stream Analytics ✅ Fabric Olay Akışı
İki tamsayı değeri arasında bit düzeyinde mantıksal özel OR (XOR) işlemi gerçekleştirir ve her iki ifadeden karşılık gelen her biti değerlendirir.
Sözdizimi
expression ^ expression
Tartışmalar
ifade
Bit veya bigint veri türlerinin geçerli bir ifadesidir. İfade, bit düzeyinde işlem için ikili sayı olarak değerlendirilir.
Dönüş türleri
her iki giriş değeri de bit ise bit.
giriş değerlerinden biri veya her ikisi de bigint ise bigint.
Açıklamalar
^ bit düzeyinde işleci, iki ifade arasında bit düzeyinde mantıksal özel OR gerçekleştirir ve her iki ifade için de karşılık gelen her biti alır. Giriş ifadelerindeki bitlerden biri (her ikisi için çözümlenmekte olan bit için) 1 ise, sonuçtaki bitler 1 olarak ayarlanır; aksi takdirde, sonuçtaki bit 0 olarak ayarlanır.
Çizim için, 170'in ikili gösterimi 0000 0000 1010 1010'dur. 75'in ikili gösterimi 0000 0000 0100 1011'dir. Bu iki değerde bit düzeyinde XOR işleminin gerçekleştirilmesi, ondalık 225 olan 0000 0000 1110 0001 ikili sonucunu üretir.
(170 ^ 75)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 0001
BIR FLOAT değerini BIGINT'e atamanın ve buna bit düzeyinde bir işleç uygulamanın genellikle BIT'e atama ve aynı işleci uygulama ile aynı sonucu döndürmeyeceği belirtilmelidir:
- İlk seçenek: 170 ^ 75.0 => 170 ^ 75 = 225
- İkinci seçenek: 170 ^ 75.0 => 170 ^ 1 = 171
Bit dönüştürme kuralları için bkz. Veri Türlerine Genel Bakış .
Örnekler
Ortak bir giriş veri kümesiyle:
WITH MyCTE AS (
SELECT
CAST(0 AS BIT) AS bit0,
CAST(1 AS BIT) AS bit1,
CAST(NULL AS BIT) AS bitN,
CAST(0 AS BIGINT) AS bigint0,
CAST(1 AS BIGINT) AS bigint1,
CAST(NULL AS BIGINT) AS bigintN
FROM input
)
bit ifadelerine işleci uygulama:
SELECT
bit0,
bit1,
bitN,
bit0 ^ bit0 AS XOR00,
bit0 ^ bit1 AS XOR01,
bit1 ^ bit0 AS XOR10,
bit1 ^ bit1 AS XOR11,
bitN ^ bit1 AS XORnull
INTO bitXOR
FROM MyCTE
İadeler
| bit0 | bit1 | bitN | XOR00 | XOR01 | XOR10 | XOR11 | XORnull |
|---|---|---|---|---|---|---|---|
| yanlış | doğru | null | yanlış | doğru | doğru | yanlış | null |
bigint ifadelerine işleci uygulama:
SELECT
bigint0,
bigint1,
bigintN,
bigint0 ^ bigint0 AS XOR00,
bigint0 ^ bigint1 AS XOR01,
bigint1 ^ bigint0 AS XOR10,
bigint1 ^ bigint1 AS XOR11,
bigintN ^ bigint1 AS XORnull,
170 ^ 75 AS XORvalues
INTO bigintXOR
FROM MyCTE
İadeler
| bigint0 | bigint1 | bigintN | XOR00 | XOR01 | XOR10 | XOR11 | XORnull | XORvalues |
|---|---|---|---|---|---|---|---|---|
| 0 | 1 | null | 0 | 1 | 1 | 0 | null | 225 |
Çıkış türleri doğrulanıyor:
SELECT
GetType(bit0 ^ bit0) AS XORtype_bit,
GetType(bigint0 ^ bigint0) AS XORtype_bigint,
GetType(bit0 ^ bigint0) AS XORtype_mixed
INTO typesXOR
FROM MyCTE
İadeler
| XORtype_bit | XORtype_bigint | ORtype_mixed |
|---|---|---|
| parça | bigint | bigint |