mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-16 19:32:07 +00:00
f315e5079b
* replace exit with assert in test_single_page * improve save_raw_single_page docs option * More grammar fixes * "Built from" link in new tab * fix mistype * Example of include in docs * add anchor to meeting form * Draft of translation helper * WIP on translation helper * Replace some fa docs content with machine translation * add normalize-en-markdown.sh * normalize some en markdown * normalize some en markdown * admonition support * normalize * normalize * normalize * support wide tables * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * normalize * lightly edited machine translation of introdpection.md * lightly edited machhine translation of lazy.md * WIP on translation utils * Normalize ru docs * Normalize other languages * some fixes * WIP on normalize/translate tools * add requirements.txt * [experimental] add es docs language as machine translated draft * remove duplicate script * Back to wider tab-stop (narrow renders not so well) * Links to nowhere check at least for English * use f string * More complete es translation
209 lines
4.4 KiB
Markdown
209 lines
4.4 KiB
Markdown
# Bit funciones {#bit-functions}
|
||
|
||
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) {#bitanda-b}
|
||
|
||
## bitOr (a, b) {#bitora-b}
|
||
|
||
## ¿Por qué?) {#bitxora-b}
|
||
|
||
## ¿Por qué?) {#bitnota}
|
||
|
||
## ¿Cómo puedo hacerlo?) {#bitshiftlefta-b}
|
||
|
||
## ¿Cómo puedo hacerlo?) {#bitshiftrighta-b}
|
||
|
||
## ¿Cómo puedo hacerlo?) {#bitrotatelefta-b}
|
||
|
||
## ¿Cómo puedo hacerlo?) {#bitrotaterighta-b}
|
||
|
||
## bitTest {#bittest}
|
||
|
||
Toma cualquier entero y lo convierte en [Forma binaria](https://en.wikipedia.org/wiki/Binary_number) devuelve el valor de un bit en la posición especificada. La cuenta atrás comienza desde 0 de derecha a izquierda.
|
||
|
||
**Sintaxis**
|
||
|
||
``` sql
|
||
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:
|
||
|
||
``` sql
|
||
SELECT bitTest(43, 1)
|
||
```
|
||
|
||
Resultado:
|
||
|
||
``` text
|
||
┌─bitTest(43, 1)─┐
|
||
│ 1 │
|
||
└────────────────┘
|
||
```
|
||
|
||
Otro ejemplo:
|
||
|
||
Consulta:
|
||
|
||
``` sql
|
||
SELECT bitTest(43, 2)
|
||
```
|
||
|
||
Resultado:
|
||
|
||
``` text
|
||
┌─bitTest(43, 2)─┐
|
||
│ 0 │
|
||
└────────────────┘
|
||
```
|
||
|
||
## bitTestAll {#bittestall}
|
||
|
||
Devuelve el resultado de [conjunción lógica](https://en.wikipedia.org/wiki/Logical_conjunction) (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**
|
||
|
||
``` sql
|
||
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 (`index1` ⋀ `index2`, ⋀ `index3` ⋀ `index4`).
|
||
|
||
**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:
|
||
|
||
``` sql
|
||
SELECT bitTestAll(43, 0, 1, 3, 5)
|
||
```
|
||
|
||
Resultado:
|
||
|
||
``` text
|
||
┌─bitTestAll(43, 0, 1, 3, 5)─┐
|
||
│ 1 │
|
||
└────────────────────────────┘
|
||
```
|
||
|
||
Otro ejemplo:
|
||
|
||
Consulta:
|
||
|
||
``` sql
|
||
SELECT bitTestAll(43, 0, 1, 3, 5, 2)
|
||
```
|
||
|
||
Resultado:
|
||
|
||
``` text
|
||
┌─bitTestAll(43, 0, 1, 3, 5, 2)─┐
|
||
│ 0 │
|
||
└───────────────────────────────┘
|
||
```
|
||
|
||
## bitTestAny {#bittestany}
|
||
|
||
Devuelve el resultado de [disyunción lógica](https://en.wikipedia.org/wiki/Logical_disjunction) (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**
|
||
|
||
``` sql
|
||
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:
|
||
|
||
``` sql
|
||
SELECT bitTestAny(43, 0, 2)
|
||
```
|
||
|
||
Resultado:
|
||
|
||
``` text
|
||
┌─bitTestAny(43, 0, 2)─┐
|
||
│ 1 │
|
||
└──────────────────────┘
|
||
```
|
||
|
||
Otro ejemplo:
|
||
|
||
Consulta:
|
||
|
||
``` sql
|
||
SELECT bitTestAny(43, 4, 2)
|
||
```
|
||
|
||
Resultado:
|
||
|
||
``` text
|
||
┌─bitTestAny(43, 4, 2)─┐
|
||
│ 0 │
|
||
└──────────────────────┘
|
||
```
|
||
|
||
[Artículo Original](https://clickhouse.tech/docs/es/query_language/functions/bit_functions/) <!--hide-->
|