Aracılığıyla paylaş


& (Bit Seviyesinde VE)

✅ Azure Stream Analytics ✅ Fabric Olay Akışı

İki tamsayı değeri arasında bit düzeyinde mantıksal AND 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 AND gerçekleştirir ve her iki ifade için de karşılık gelen her biti alır. Sonuçtaki bitler, yalnızca giriş ifadelerindeki her iki bitin de (çözümlenmekte olan bit için) 1 değerine sahip olması durumunda 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ğer üzerinde bit düzeyinde AND işleminin gerçekleştirilmesi, ondalık 10 olan 0000 0000 0000 1010 ikili sonucunu üretir.

(170 & 75)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 0000 1010

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 = 10
  • İkinci seçenek: 170 & 75.0 => 170 & 1 = 0

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 AND00,
	bit0 & bit1 AS AND01,
	bit1 & bit0 AS AND10,
	bit1 & bit1 AS AND11,
	bitN & bit0 AS ANDnull
INTO bitAND
FROM MyCTE

İadeler

bit0 bit1 bitN AND00 AND01 AND10 AND11 ANDnull
yanlış doğru null yanlış yanlış yanlış doğru null

bigint ifadelerine işleci uygulama:

SELECT
	bigint0,
	bigint1,
	bigintN,
	bigint0 & bigint0 AS AND00,
	bigint0 & bigint1 AS AND01,
	bigint1 & bigint0 AS AND10,
	bigint1 & bigint1 AS AND11,
	bigintN & bigint1 AS ANDnull,
    170 & 75 AS ANDvalues
INTO bigintAND
FROM MyCTE

İadeler

bigint0 bigint1 bigintN AND00 AND01 AND10 AND11 ANDnull ANDvalues
0 1 null 0 0 0 1 null 10

Çıkış türleri doğrulanıyor:

SELECT
    GetType(bit0 & bit0) AS ANDtype_bit,
    GetType(bigint0 & bigint0) AS ANDtype_bigint,
    GetType(bit0 & bigint0) AS ANDtype_mixed
INTO typesAND
FROM MyCTE

İadeler

ANDtype_bit ANDtype_bigint ANDtype_mixed
parça bigint bigint

Ayrıca Bkz.