[comment]: # ({40caba63-ca911365})
# 2 Fonctions binaires

Toutes les fonctions répertoriées ici sont prises en charge dans :

- [Expressions de déclenchement](/manual/config/triggers/expression)
- [Éléments calculés](/manual/config/items/itemtypes/calculated)

Quelques notes générales sur les paramètres de fonction :

- Les paramètres de fonction sont séparés par une virgule
- Les expressions sont acceptées comme paramètres
- Les paramètres de fonction optionnels (ou parties de paramètres) sont indiqués par `<` `>`

|FONCTION|<|<|
|--|--|--|
|**Description**|**Paramètres spécifiques à la fonction**|**Commentaires**|
|**bitand** (valeur,masque)|<|<|
|Valeur de "ET binaire" d'une valeur d'élément et d'un masque.|**valeur** : valeur à vérifier<br>**masque** (obligatoire) : entier non signé 64 bits (0 - 18446744073709551615)|Types de valeur pris en charge : int<br><br>Bien que la comparaison se fasse au niveau du bit, toutes les valeurs doivent être fournies et sont renvoyées en décimal. Par exemple, la vérification du 3e bit est effectuée en comparant à 4, et non à 100.<br><br>Exemples :<br>=> **bitand**(last(/host/key),**12** )=8 ou **bitand**(last(/host/key),**12**)=4 → 3ème ou 4ème bit défini, mais pas les deux en même temps<br>=> **bitand** (last(/host/key),**20**)=16 → 3e bit non défini et 5e bit défini.|
|**bitlshift** (valeur,bits à décaler)|<|<|
|Décalage au niveau du bit à gauche d'une valeur d'élément.|**valeur** : valeur à vérifier<br>**bits à décaler** (obligatoire) : nombre de bits à décaler|Types de valeurs pris en charge : int<br><br> Bien que la comparaison se fasse au niveau du bit, toutes les valeurs doivent être fournies et sont renvoyées en décimal. Par exemple, la vérification du 3e bit se fait en comparant à 4, et non à 100.|
|**bitnot** (valeur)|<|<|
|Valeur de "NON binaire" d'une valeur d'élément.|**valeur** - valeur à vérifier<br>|Types de valeur pris en charge : int<br><br>Bien que la comparaison soit effectuée au niveau du bit, toutes les valeurs doivent être fournis et sont retournés en décimal. Par exemple, la vérification du 3e bit se fait en comparant à 4, et non à 100.|
|**bitor** (valeur,masque)|<|<|
|Valeur de "OU binaire" d'une valeur d'élément et d'un masque.|**valeur** : valeur à vérifier<br>**masque** (obligatoire) : entier non signé 64 bits (0 - 18446744073709551615)|Types de valeur pris en charge : int<br><br>Bien que la comparaison se fasse au niveau du bit, toutes les valeurs doivent être fournies et sont renvoyées en décimal. Par exemple, la vérification du 3e bit se fait en comparant à 4, et non à 100.|
|**bitrshift** (valeur,bits à décaler)|<|<|
|Décalage au niveau du bit vers la droite d'une valeur d'élément.|**valeur** : valeur à vérifier<br>**bits à décaler** (obligatoire) : nombre de bits à décaler|Types de valeurs pris en charge : int<br><br> Bien que la comparaison se fasse au niveau du bit, toutes les valeurs doivent être fournies et sont renvoyées en décimal. Par exemple, la vérification du 3e bit se fait en comparant à 4, et non à 100.|
|**bitxor** (valeur,masque)|<|<|
|Valeur du "OU exclusif binaire" d'une valeur d'élément et d'un masque.|**valeur** : valeur à vérifier<br>**masque** (obligatoire) : entier non signé 64 bits (0 - 18446744073709551615)|Valeur prise en charge types : int<br><br>Bien que la comparaison se fasse au niveau du bit, toutes les valeurs doivent être fournies et sont renvoyées en décimal. Par exemple, la vérification du 3e bit se fait en comparant à 4, et non à 100.|

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