Udostępnij za pośrednictwem


~ (Bitowe NIE)

✅ Strumień zdarzeń usługi Azure Stream Analytics ✅ Fabric

Wykonuje bitową operację logiczną NOT na wartości całkowitej.

Składnia

~ expression

Argumenty (w programowaniu)

wyrażenie

Czy dowolne prawidłowe wyrażenie typów danych bit lub bigint. Wyrażenie jest traktowane jako liczba binarna dla operacji bitowej.

Typy zwracane

bit , jeśli wartość wejściowa jest bitowa.

bigint , jeśli wartość wejściowa jest bigint.

Uwagi

Operator ~ bitowy wykonuje bitową wartość logiczną NOT na wyrażeniu, biorąc każdy bit z kolei. Jeśli wyrażenie ma wartość 0, bity w zestawie wyników są ustawione na 1; w przeciwnym razie bit w wyniku jest czyszczone na wartość 0. Innymi słowy, te są zmieniane na zera, a zera są zmieniane na te.

Na ilustracji binarna reprezentacja 170 to 0000 0000 1010 1010. Wykonanie operacji bitowej NOT na tej wartości powoduje wynik binarny 1111 1111 0101 0101, czyli dziesiętny -171.

(~170)
0000 0000 1010 1010
-------------------
1111 1111 0101 0101

Przykłady

Za pomocą wspólnego wejściowego zestawu danych:

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
)

Zastosowanie operatora w wyrażeniach bitowych :

SELECT
	bit0,
	bit1,
	bitN,
	~ bit0 AS NOT0,
	~ bit1 AS NOT1,
	~ bitN AS NOTnull
INTO bitNOT
FROM MyCTE

Zwraca:

bit0 bit1 bitN NOT0 NOT1 NOTnull
fałszywy prawda ZERO prawda fałszywy ZERO

Zastosowanie operatora w wyrażeniach bigint :

SELECT
	bigint0,
	bigint1,
	bigintN,
	~ bigint0 AS NOT0,
	~ bigint1 AS NOT1,
	~ bigintN AS NOTnull,
	~ 170 AS NOT170
INTO bigintNOT
FROM MyCTE

Zwraca:

bit0 bit1 bitN NOT0 NOT1 NOTnull NOT170
0 1 ZERO -1 -2 ZERO -171

Weryfikowanie typów danych wyjściowych:

SELECT
	GetType(~ bit0) AS NOTtype_bit,
	GetType(~ bigint0) AS NOTtype_bigint
INTO typesNOT
FROM MyCTE

Zwraca:

NOTtype_bit NOTtype_bigint
odrobina bigint

Zobacz też