Compartir a través de


~ (operador bit a bit NOT)

✅ Secuencia de eventos de Azure Stream Analytics ✅ Fabric

Realiza una operación NOT lógica bit a bit en un valor entero.

Sintaxis

~ expression

Argumentos

expresión

Es cualquier expresión válida de los tipos de datos bit o bigint. La expresión se trata como un número binario para la operación bit a bit.

Tipos de valor devuelto

bit si el valor de entrada es bit.

bigint si el valor de entrada es bigint.

Observaciones

El operador ~ bit a bit realiza un not lógico bit a bit en la expresión, tomando cada bit a su vez. Si expression tiene un valor de 0, los bits del conjunto de resultados se establecen en 1; De lo contrario, el bit del resultado se borra en un valor de 0. En otras palabras, las se cambian a ceros y ceros se cambian a las.

Por ejemplo, la representación binaria de 170 es 0000 000 1010 1010. La realización de la operación NOT bit a bit en este valor genera el resultado binario 1111 1111 0101 0101, que es decimal -171.

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

Ejemplos

Con un conjunto de datos de entrada común:

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
)

Aplicación del operador en expresiones de bits :

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

Devoluciones:

bit0 bit1 bitN NOT0 NOT1 NOTnull
falso cierto NULO cierto falso NULO

Aplicación del operador en expresiones bigint :

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

Devoluciones:

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

Validación de los tipos de salida:

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

Devoluciones:

NOTtype_bit NOTtype_bigint
poco bigint

Véase también