Skip to main content

Workflow Math: Integer Functions

An integer function operates on 1 or more bit patterns or binary numerals at the level of their individual bits. Use an integer function to manipulate values for comparisons and calculations. Integer functions can only be used with Number data types.

Note

Not all functions are supported between Standard mode and Cloud Native mode tools. For a list of supported functions, go to the respective Standard mode and Could Native mode function lists found on the Formula tool page.

Important

If double/float values are given as arguments, they are truncated to 64-bit integers. Negative values are treated as two’s complement, 64-bit integer numbers. That is, -16 and -16.9999 are treated as 0xfffffffffffffff0.

BinaryAnd

BinaryAnd(n,m): Returns a binary of (n) and (m). The result is 1 if both n and m are 1, and 0 otherwise. If 0 is equated with False, and 1 with True, the BinaryAnd operation works like a logical And. Note the absence of the decimal point on the result values. The result is an integer, not a float value.

Example

BinaryAnd(1,1)returns 1.

BinaryAnd(1,0)returns 0.

BinaryAnd(12,6)returns 4.

BinaryAnd(12.99, 6.99)returns 4.

BinaryAnd(-12, 6.99)returns 4.

BinaryNot

BinaryNot(n): Returns a Binary Not of (n). Numbers are treated as 64-bit, two's complement numbers.

Example

BinaryNot(6)returns -7.

BinaryNot(2)returns -3.

BinaryNot(-1)returns 0.

BinaryNot(0)returns -1.

BinaryOr

BinaryOr(n,m): Returns a Binary Or of (n) and (m).

Example

BinaryOr(6,6)returns 6.

BinaryOr(6,2)returns 6.

BinaryOr(4,2)returns 6.

BinaryOr(12,6)returns 14.

BinaryXOr

BinaryXOr(n,m): Returns a Binary XOr of (n) and (m).

Example

BinaryXOr(6,6)returns 0.

BinaryXOr(6,2)returns 4.

BinaryXOr(6,12)returns 10.

ShiftLeft

ShiftLeft(n,b): Left shifts (n) (as integer) by (b) bits.

ShiftRight

ShiftRight(n,b): Right shifts (n) (as integer) by (b) bits.

For both ShiftLeft and ShiftRight the result is an Int64, so only 64 bits are available.

Example

ShiftLeft(pow(2,62),1)returns-pow(2,63). Shift it left once more and you get zero.

ShiftRight(1,1)returns zero.

ShiftRight(-1,1)returnsInt64_Max.