[comment]: # ({40caba63-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)

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
    `<` `>`

|FUNCIÓN|<|<|
|--|--|--|
|**Descripción**|**Parámetros específicos de la función**|**Comentarios**|
|**bitand** (valor,máscara)|<|<|
|Valor de "Y bit a bit" de un valor de elemento y una máscara.|**valor** - valor a comprobar<br>**máscara** (obligatorio) - entero sin signo de 64 bits (0 - 18446744073709551615)|Tipos de valores admitidos : int<br><br>Aunque la comparación se realiza bit a bit, todos los valores se deben proporcionar y se devuelven en decimal. Por ejemplo, la comprobación del tercer bit se realiza comparándolo con 4, no con 100.<br><br>Ejemplos:<br>=> **bitand**(last(/host/key),**12** )=8 o **bitand**(last(/host/key),**12**)=4 → 3er o 4to bit configurado, pero no ambos al mismo tiempo<br>=> **bitand** (last(/host/key),**20**)=16 → 3er bit no establecido y 5to bit establecido.|
|**bitlshift** (valor,bits a desplazar)|<|<|
|Desplazamiento bit a bit a la izquierda del valor de un elemento.|**valor** - valor a verificar<br>**bits a desplazar** (obligatorio) - número de bits a desplazar|Tipos de valores admitidos: int<br><br> Aunque la comparación se realiza bit a bit, todos los valores deben proporcionarse y devolverse en decimal. Por ejemplo, la comprobación del tercer bit se realiza comparándolo con 4, no con 100.|
|**bitnot** (valor)|<|<|
|Valor de "NO bit a bit" de un valor de elemento.|**valor** - valor a comprobar<br>|Tipos de valores admitidos: int<br><br>Aunque la comparación se realiza de forma bit a bit, todos los valores deben suministrarse y se devuelven en decimal. Por ejemplo, la comprobación del tercer bit se realiza comparándolo con 4, no con 100.|
|**bitor** (valor,máscara)|<|<|
|Valor de "OR bit a bit" de un valor de elemento y una máscara.|**valor** - valor a comprobar<br>**máscara** (obligatorio) - entero sin signo de 64 bits (0 - 18446744073709551615)|Tipos de valores admitidos : int<br><br>Aunque la comparación se realiza bit a bit, todos los valores se deben proporcionar y se devuelven en decimal. Por ejemplo, la comprobación del tercer bit se realiza comparándolo con 4, no con 100.|
|**bitrshift** (valor,bits a desplazar)|<|<|
|Desplazamiento bit a bit a la derecha del valor de un elemento.|**valor** - valor a verificar<br>**bits a desplazar** (obligatorio) - número de bits a desplazar|Tipos de valores admitidos: int<br><br> Aunque la comparación se realiza bit a bit, todos los valores deben proporcionarse y devolverse en decimal. Por ejemplo, la comprobación del tercer bit se realiza comparándolo con 4, no con 100.|
|**bitxor** (valor,máscara)|<|<|
|Valor de "OR exclusivo bit a bit" de un valor y máscara de elemento.|**valor** - valor a comprobar<br>**máscara** (obligatorio) - entero sin signo de 64 bits (0 - 18446744073709551615)|Valor admitido tipos: int<br><br>Aunque la comparación se realiza bit a bit, todos los valores se deben proporcionar y se devuelven en decimal. Por ejemplo, la comprobación del tercer bit se realiza comparándolo con 4, no con 100.|

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