[comment]: # translation:outdated

[comment]: # ({ca911365-ca911365})
# 2 Funções bit a bit

Todas as funções listadas aqui são suportadas em:

- [Expressões de gatilho](/manual/config/triggers/expression)
- [Itens calculados](/manual/config/items/itemtypes/calculated)

Algumas notas gerais sobre parâmetros de função:

- Os parâmetros da função são separados por uma vírgula
- Expressões são aceitas como parâmetros
- Parâmetros de função opcionais (ou partes de parâmetros) são indicados por
    `<` `>`

|FUNÇÃO|<|<|<|
|--------|-|-|-|
|<|**Descrição**|**Parâmetros específicos da função**|**Comentários**|
|**bitand** (valor,máscara)|<|<|<|
|<|Valor de "E bit a bit" de um valor de item e máscara.|**valor** - valor a ser verificado<br>**máscara** (obrigatório) - inteiro sem sinal de 64 bits (0 - 18446744073709551615)|Suportado tipos de valor: int<br><br>Embora a comparação seja feita de forma bit a bit, todos os valores devem ser fornecidos e retornados em decimal. Por exemplo, a verificação do 3º bit é feita comparando-se a 4, não a 100.<br><br>Exemplos:<br>=> **bitand**(last(/host/key),**12** )=8 ou **bitand**(last(/host/key),**12**)=4 → 3º ou 4º bit definido, mas não ambos ao mesmo tempo<br>=> **bitand** (last(/host/key),**20**)=16 → 3º bit não definido e 5º bit definido.|
|**bitlshift** (valor, bits para deslocamento)|<|<|<|
|<|Deslocamento bit a bit para a esquerda de um valor de item.|**valor** - valor a ser verificado<br>**bits para deslocamento** (obrigatório) - número de bits para deslocamento|Tipos de valor suportados: int<br>< br>Embora a comparação seja feita de forma bit a bit, todos os valores devem ser fornecidos e são retornados em decimal. Por exemplo, a verificação do 3º bit é feita comparando-se a 4, não a 100.|
|**bitnot** (valor)|<|<|<|
|<|Valor de "NÃO bit a bit" de um valor de item.|**valor** - valor a ser verificado<br>|Tipos de valor suportados: int<br><br>Embora a comparação seja feita de maneira bit a bit, todos os valores devem ser fornecidos e são retornados em decimal. Por exemplo, a verificação do 3º bit é feita comparando-se a 4, não a 100.|
|**bitor** (valor,máscara)|<|<|<|
|<|Valor de "OR bit a bit" de um valor de item e máscara.|**valor** - valor a ser verificado<br>**máscara** (obrigatório) - inteiro sem sinal de 64 bits (0 - 18446744073709551615)|Suportado tipos de valor: int<br><br>Embora a comparação seja feita de forma bit a bit, todos os valores devem ser fornecidos e retornados em decimal. Por exemplo, a verificação do 3º bit é feita comparando-se a 4, não a 100.|
|**bitrshift** (valor, bits para deslocamento)|<|<|<|
|<|Deslocamento bit a bit para a direita de um valor de item.|**valor** - valor a ser verificado<br>**bits a serem deslocados** (obrigatório) - número de bits a serem deslocados|Tipos de valor suportados: int<br>< br>Embora a comparação seja feita de forma bit a bit, todos os valores devem ser fornecidos e são retornados em decimal. Por exemplo, a verificação do 3º bit é feita comparando-se a 4, não a 100.|
|**bitxor** (valor,máscara)|<|<|<|
|<|Valor de "OR exclusivo bit a bit" de um valor de item e máscara.|**valor** - valor a ser verificado<br>**máscara** (obrigatório) - inteiro sem sinal de 64 bits (0 - 18446744073709551615)| Tipos de valores suportados: int<br><br>Embora a comparação seja feita de forma bit a bit, todos os valores devem ser fornecidos e são retornados em decimal. Por exemplo, a verificação do 3º bit é feita comparando-se a 4, não a 100.|

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