[comment]: # (terms:  bitand, bitlshift, bitnot, bitor, bitrshift, bitxor )

[comment]: # ({40caba63-ca911365})
# 2 Funciones binàries

Totes les funcions llistades aquí són suportades a:

- [Expressions de triggers](/manual/config/triggers/expression)
- [Elements calculats](/manual/config/items/itemtypes/calculated)

Algunes notes generals sobre els paràmetres de la funció:

- Els paràmetres de funció són separats per una coma
- Les expressions s'accepten com a paràmetres
- Els paràmetres de funció opcionals (o parts dels paràmetres) venen indicats amb `<` `>`

|FUNCIÓ|<|<|
|--|--|--|
|**Descripció**|**Paràmetres específics de la funció**|**Comentaris**|
|**bitand** (valor,màscara)|<|<|
|Valor de "I binari" d'un valor d'element i d'una màscara.|**valor** : valor a verificar<br>**màscara** (obligatori) : enter no signat 64 bits (0 - 18446744073709551615)|Tipus de valors suportats: int<br><br>Encara que la comparació es faci a nivell de bit, tots els valors s'han de proveir i reenviades en decimal. Per exemple, la verificació del 3r bit es fa comparant a 4, no pas a 100.<br><br>Exemples:<br>=> **bitand**(last(/host/key),**12** )=8 o **bitand**(last(/host/key),**12**)=4 → 3r o 4t bit definit, però no les dues al mateix temps<br>=> **bitand** (last(/host/key),**20**)=16 → 3r bit no definit i 5è bit definit.|
|**bitlshift** (valor,bits a canviar)|<|<|
|Canvi a nivell de bit a l'esquerra d'un valor d'element.|**valor**: valor a verificar<br>**bits a canviar** (obligatori) : nombre de bits a canviar|Tipus de valors admesos: int<br><br> Encara que la comparació es faci a nivell de bit, tots els valors han de proporcionar-se i reenviar-se en decimal. Per exemple, la verificació del 3r bit es fa comparant a 4, no pas a 100.|
|**bitnot** (valor)|<|<|
|Valor de "NO binari" d'un valor d'element.|**valor** - valor a verificar<br>|Tipus de valors admesos: int<br><br>Encara que la comparació es faci a nivell de bit, tots els valors han de proporcionar-se i reenviar-se en decimal. Per exemple, la verificació del 3r bit es fa comparant a 4, no pas a 100.|
|**bitor** (valor,màscara)|<|<|
|Valor d'"O binari" d'un valor d'element i d'una màscara.|**valor** : valor a verificar<br>**màscara** (obligatori) : enter no signat de 64 bits (0 - 18446744073709551615)|Valor admès: int<br><br>Encara que la comparació es faci a nivell de bit, tots els valors han de proporcionar-se i reenviar-se en decimal. Per exemple, la verificació del 3r bit es fa comparant a 4, no pas a 100.|
|**bitrshift** (valors,bits a desplaçar)|<|<|
|Canvi a nivell de bit sobre la dreta d'un valor d'element.|**valor** : valor a verificar<br>**bits a canviar** (obligatori) : nombre de bits a canviar|Valor admès: int<br><br> Encara que la comparació es faci a nivell de bit, tots els valors han de proporcionar-se i reenviar-se en decimal. Per exemple, la verificació del 3r bit es fa comparant a 4, no pas a 100.|
|**bitxor** (valor,màscara)|<|<|
|Valor d'"O exclusiu binari" d'un valor d'element i d'una màscara.|**valor** : valor a verificar<br>**màscara** (obligatori) : enter no signat de 64 bits (0 - 18446744073709551615)|Valor admès: int<br><br>Encara que la comparació es faci a nivell de bit, tots els valors han de proporcionar-se i reenviar-se en decimal. Per exemple, la verificació del 3r bit es fa comparant a 4, no pas a 100.|

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