ClickHouse/docs/es/query_language/functions/bit_functions.md
2020-03-30 11:25:29 +03:00

4.4 KiB
Raw Blame History

machine_translated
true

Bit funciones

Las funciones de bits funcionan para cualquier par de tipos de UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64, Float32 o Float64.

El tipo de resultado es un entero con bits iguales a los bits máximos de sus argumentos. Si al menos uno de los argumentos está firmado, el resultado es un número firmado. Si un argumento es un número de coma flotante, se convierte en Int64.

PocoY(a, b)

bitOr (a, b)

¿Por qué?)

¿Por qué?)

¿Cómo puedo hacerlo?)

¿Cómo puedo hacerlo?)

¿Cómo puedo hacerlo?)

¿Cómo puedo hacerlo?)

bitTest

Toma cualquier entero y lo convierte en Forma binaria devuelve el valor de un bit en la posición especificada. La cuenta atrás comienza desde 0 de derecha a izquierda.

Sintaxis

SELECT bitTest(number, index)

Parámetros

  • number número entero.
  • index posición de bit.

Valores devueltos

Devuelve un valor de bit en la posición especificada.

Tipo: UInt8.

Ejemplo

Por ejemplo, el número 43 en el sistema numérico base-2 (binario) es 101011.

Consulta:

SELECT bitTest(43, 1)

Resultado:

┌─bitTest(43, 1)─┐
│              1 │
└────────────────┘

Otro ejemplo:

Consulta:

SELECT bitTest(43, 2)

Resultado:

┌─bitTest(43, 2)─┐
│              0 │
└────────────────┘

bitTestAll

Devuelve el resultado de conjunción lógica (Operador AND) de todos los bits en posiciones dadas. La cuenta atrás comienza desde 0 de derecha a izquierda.

La conjucción para operaciones bit a bit:

Nivel de Cifrado WEP

Nivel de Cifrado WEP

Nivel de Cifrado WEP

Nivel de Cifrado WEP

Sintaxis

SELECT bitTestAll(number, index1, index2, index3, index4, ...)

Parámetros

  • number número entero.
  • index1, index2, index3, index4 posiciones de bit. Por ejemplo, para un conjunto de posiciones (index1, index2, index3, index4) es verdadero si y solo si todas sus posiciones son verdaderas (index1index2, ⋀ index3index4).

Valores devueltos

Devuelve el resultado de la conjunción lógica.

Tipo: UInt8.

Ejemplo

Por ejemplo, el número 43 en el sistema numérico base-2 (binario) es 101011.

Consulta:

SELECT bitTestAll(43, 0, 1, 3, 5)

Resultado:

┌─bitTestAll(43, 0, 1, 3, 5)─┐
│                          1 │
└────────────────────────────┘

Otro ejemplo:

Consulta:

SELECT bitTestAll(43, 0, 1, 3, 5, 2)

Resultado:

┌─bitTestAll(43, 0, 1, 3, 5, 2)─┐
│                             0 │
└───────────────────────────────┘

bitTestAny

Devuelve el resultado de disyunción lógica (O operador) de todos los bits en posiciones dadas. La cuenta atrás comienza desde 0 de derecha a izquierda.

La disyunción para las operaciones bit a bit:

Nivel de Cifrado WEP

Nivel de Cifrado WEP

Nivel de Cifrado WEP

Nivel de Cifrado WEP

Sintaxis

SELECT bitTestAny(number, index1, index2, index3, index4, ...)

Parámetros

  • number número entero.
  • index1, index2, index3, index4 posiciones de bit.

Valores devueltos

Devuelve el resultado de disjuction lógico.

Tipo: UInt8.

Ejemplo

Por ejemplo, el número 43 en el sistema numérico base-2 (binario) es 101011.

Consulta:

SELECT bitTestAny(43, 0, 2)

Resultado:

┌─bitTestAny(43, 0, 2)─┐
│                    1 │
└──────────────────────┘

Otro ejemplo:

Consulta:

SELECT bitTestAny(43, 4, 2)

Resultado:

┌─bitTestAny(43, 4, 2)─┐
│                    0 │
└──────────────────────┘

Artículo Original