[comment]: # attributes: notoc

[comment]: # ({f37511ba-ca911365})
# 2 Funciones bit a bit

Todas las funciones enumeradas aquí son compatibles con:

- [Expresiones de iniciador](/manual/config/triggers/expression)
- [Métricas calculadas](/manual/config/items/itemtypes/calculated)

Las funciones se enumeran sin información adicional. Haga clic en la función para ver los detalles completos.

|Función|Descripción|
|--|--------|
|[bitand](#bitand)|El valor de "Y bit a bit" de un valor de elemento y máscara.|
|[bitlshift](#bitlshift)|El desplazamiento bit a bit hacia la izquierda del valor de un elemento.|
|[bitnot](#bitnot)|El valor de "NO bit a bit" de un valor de elemento.|
|[bitor](#bitor)|El valor de "OR bit a bit" de un valor de elemento y máscara.|
|[bitrshift](#bitrshift)|El desplazamiento bit a bit a la derecha de un valor de elemento.|
|[bitxor](#bitxor)|El valor de "OR exclusivo bit a bit" de un valor y máscara de elemento.|

[comment]: # ({/f37511ba-ca911365})

[comment]: # ({e635e2a6-80c8d9ba})
### Detalles de la función

Algunas notas generales sobre los parámetros de función:

- Los parámetros de la función están separados por una coma.
- Se aceptan expresiones como parámetros.
- Los parámetros de función opcionales (o partes de parámetros) se indican mediante
    `<` `>`

[comment]: # ({/e635e2a6-80c8d9ba})

[comment]: # ({77074d8b-ba090b44})

##### bitand(valor,máscara) {#bitand}

El valor de "Y bit a bit" de un valor de métrica y una máscara.<br>
Tipos de valores admitidos: *Entero*.

Parámetro:

- **valor** - el valor a comprobar;
- **máscara** (obligatorio): un entero sin signo de 64 bits (0 - 18446744073709551615).

Aunque la comparación se realiza bit a bit, todos los valores deben proporcionarse y devolverse en decimal. Por ejemplo, la verificación del tercer bit se realiza comparándolo con 4, no con 100.

Ejemplos:

    bitand(last(/host/key),12)=8 o bitand(last(/host/key),12)=4 #3er o 4to bit configurado, pero no ambos al mismo tiempo
    bitand(last(/host/key),20)=16 #3er bit no establecido y 5to bit establecido

[comment]: # ({/77074d8b-ba090b44})

[comment]: # ({c2f5e331-5b5c2f3e})

##### bitlshift(valor,bits a desplazar) {#bitlshift}

El desplazamiento bit a bit hacia la izquierda del valor de una métrica.<br>
Tipos de valores admitidos: *Entero*.

Parámetro:

- **valor** - el valor a comprobar;
- **bits para desplazar** (obligatorio): el número de bits para desplazar.

Aunque la comparación se realiza bit a bit, todos los valores deben proporcionarse y devolverse en decimal. Por ejemplo, la verificación del tercer bit se realiza comparándolo con 4, no con 100.

[comment]: # ({/c2f5e331-5b5c2f3e})

[comment]: # ({6e54f229-ac54222f})

##### bitnot(valor) {#bitnot}

El valor de "NO bit a bit" de un valor de métrica.<br>
Tipos de valores admitidos: *Entero*.

Parámetro:

- **valor**: el valor a comprobar.

Aunque la comparación se realiza bit a bit, todos los valores deben proporcionarse y devolverse en decimal. Por ejemplo, la verificación del tercer bit se realiza comparándolo con 4, no con 100.

[comment]: # ({/6e54f229-ac54222f})

[comment]: # ({98fab79a-e0357d53})

##### bitor(valor,máscara) {#bitor}

El valor de "OR bit a bit" de un valor de métrica y una máscara.<br>
Tipos de valores admitidos: *Entero*.

Parámetro:

- **valor** - el valor a comprobar;
- **máscara** (obligatorio): un entero sin signo de 64 bits (0 - 18446744073709551615).

Aunque la comparación se realiza bit a bit, todos los valores deben proporcionarse y devolverse en decimal. Por ejemplo, la verificación del tercer bit se realiza comparándolo con 4, no con 100.

[comment]: # ({/98fab79a-e0357d53})

[comment]: # ({6ccf7ed7-2fbc8601})

##### bitrshift(valor,bits a desplazar) {#bitrshift}

El desplazamiento bit a bit hacia la derecha del valor de una métrica.<br>
Tipos de valores admitidos: *Entero*.

Parámetro:

- **valor** - el valor a comprobar;
- **bits para desplazar** (obligatorio): el número de bits para desplazar.

Aunque la comparación se realiza bit a bit, todos los valores deben proporcionarse y devolverse en decimal. Por ejemplo, la verificación del tercer bit se realiza comparándolo con 4, no con 100.

[comment]: # ({/6ccf7ed7-2fbc8601})

[comment]: # ({bc33e6c6-2d663611})

##### bitxor(valor,máscara) {#bitxor}

El valor de "OR exclusivo bit a bit" de un valor de métrica y máscara.<br>
Tipos de valores admitidos: *Entero*.

Parámetro:

- **valor** - el valor a comprobar;
- **máscara** (obligatorio): un entero sin signo de 64 bits (0 - 18446744073709551615).

Aunque la comparación se realiza bit a bit, todos los valores deben proporcionarse y devolverse en decimal. Por ejemplo, la verificación del tercer bit se realiza comparándolo con 4, no con 100.

[comment]: # ({/bc33e6c6-2d663611})

[comment]: # ({ba59dd3a-540c5e03})

Consulte [todas las funciones admitidas](/manual/appendix/functions).

[comment]: # ({/ba59dd3a-540c5e03})
