This is a translation of the original English documentation page. Help us make it better.

2 Bitwise functions

All functions listed here are supported in:

Some general notes on function parameters:

  • Function parameters are separated by a comma
  • Expressions are accepted as parameters
  • Optional function parameters (or parameter parts) are indicated by < >
FUNCTION
Description Function-specific parameters Comments
bitand (value,mask)
Value of "bitwise AND" of an item value and mask. value - value to check
mask (mandatory) - 64-bit unsigned integer (0 - 18446744073709551615)
Supported value types: int

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.

Examples:
=> bitand(last(/host/key),12)=8 or bitand(last(/host/key),12)=4 → 3rd or 4th bit set, but not both at the same time
=> bitand(last(/host/key),20)=16 → 3rd bit not set and 5th bit set.
bitlshift (value,bits to shift)
Bitwise shift left of an item value. value - value to check
bits to shift (mandatory) - number of bits to shift
Supported value types: int

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.
bitnot (value)
Value of "bitwise NOT" of an item value. value - value to check
Supported value types: int

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.
bitor (value,mask)
Value of "bitwise OR" of an item value and mask. value - value to check
mask (mandatory) - 64-bit unsigned integer (0 - 18446744073709551615)
Supported value types: int

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.
bitrshift (value,bits to shift)
Bitwise shift right of an item value. value - value to check
bits to shift (mandatory) - number of bits to shift
Supported value types: int

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.
bitxor (value,mask)
Value of "bitwise exclusive OR" of an item value and mask. value - value to check
mask (mandatory) - 64-bit unsigned integer (0 - 18446744073709551615)
Supported value types: int

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.

Function details

Some general notes on function parameters:

  • Function parameters are separated by a comma
  • Expressions are accepted as parameters
  • Optional function parameters (or parameter parts) are indicated by < >
bitand(value,mask)

The value of "bitwise AND" of an item value and mask.
Supported value types: Integer.

Parameter:

  • value - the value to check;
  • mask (mandatory) - a 64-bit unsigned integer (0 - 18446744073709551615).

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.

Examples:

bitand(last(/host/key),12)=8 or bitand(last(/host/key),12)=4 #3rd or 4th bit set, but not both at the same time
       bitand(last(/host/key),20)=16 #3rd bit not set and 5th bit set
bitlshift(value,bits to shift)

The bitwise shift left of an item value.
Supported value types: Integer.

Parameter:

  • value - the value to check;
  • bits to shift (mandatory) - the number of bits to shift.

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.

bitnot(value)

The value of "bitwise NOT" of an item value.
Supported value types: Integer.

Parameter:

  • value - the value to check.

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.

bitor(value,mask)

The value of "bitwise OR" of an item value and mask.
Supported value types: Integer.

Parameter:

  • value - the value to check;
  • mask (mandatory) - a 64-bit unsigned integer (0 - 18446744073709551615).

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.

bitrshift(value,bits to shift)

The bitwise shift right of an item value.
Supported value types: Integer.

Parameter:

  • value - the value to check;
  • bits to shift (mandatory) - the number of bits to shift.

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.

bitxor(value,mask)

The value of "bitwise exclusive OR" of an item value and mask.
Supported value types: Integer.

Parameter:

  • value - the value to check;
  • mask (mandatory) - a 64-bit unsigned integer (0 - 18446744073709551615).

Although the comparison is done in a bitwise manner, all the values must be supplied and are returned in decimal. For example, checking for the 3rd bit is done by comparing to 4, not 100.

See all supported functions.