Bitwise functions

Bitwise operations performing on long expressions.

bitwiseAnd

Calculates the bitwise and between two long expressions.

Syntax

bitwiseAnd(long expression, long expression)

Parameters

Parameter

Type

Description

Required

firstExpression

long

The first long expression for the binary operation.

required

secondExpression

long

The second long expression for the binary operation.

required

Returns

The data type of the returned value is long.

Examples

Example 1
data record(a = 0, b = 0),
record(a = 0, b = 1),
record(a = 1, b = 0),
record(a = 1, b = 1),
record(a = 12, b = 10)
| fieldsAdd bitwiseAnd(a, b)

Query result:

a

b

bitwiseAnd(a, b)

0

0

0

0

1

0

1

0

0

1

1

1

12

10

8

bitwiseCountOnes

Counts the bits assigned to one of the long expressions.

Syntax

bitwiseCountOnes(long expression)

Parameters

Parameter

Type

Description

Required

expression

long

The long expression whose bits will be inverted.

required

Returns

The data type of the returned value is long.

Examples

Example 1
data record(a = 0),
record(a = 1),
record(a = -1),
record(a = 9223372036854775807),
record(a = -9223372036854775807),
record(a = 12)
| fieldsAdd bitwiseCountOnes(a)

Query result:

a

bitwiseCountOnes(a)

0

0

1

1

-1

64

9,223,372,036,854,776,000

63

-9,223,372,036,854,776,000

2

12

2

bitwiseNot

Inverts the bits included in the long expression.

Syntax

bitwiseNot(long expression)

Parameters

Parameter

Type

Description

Required

expression

long

The long expression whose bits will be inverted.

required

Returns

The data type of the returned value is long.

Examples

Example 1
data record(a = 0),
record(a = 1),
record(a = -1),
record(a = 9223372036854775807),
record(a = -9223372036854775808),
record(a = 12)
| fieldsAdd bitwiseNot(a)

Query result:

a

bitwiseNot(a)

0

-1

1

-2

-1

0

9,223,372,036,854,776,000

-9,223,372,036,854,776,000

-9,223,372,036,854,776,000

9,223,372,036,854,776,000

12

-13

bitwiseShiftLeft

Shifts the long expressions by the number of given bits to the left.

Syntax

bitwiseShiftLeft(long expression, long expression)

Parameters

Parameter

Type

Description

Required

expression

long

The long expression that will be bitwise shifted to the left.

required

numberOfBits

long

The number of bits by which the expression will be shifted left.

required

Returns

The data type of the returned value is long.

Examples

Example 1
data record(a = 0, bits = 1),
record(a = 1, bits = 1),
record(a = 1, bits = 2),
record(a = 9223372036854775807, bits = 1),
record(a = -9223372036854775808, bits = 1)
| fieldsAdd bitwiseShiftLeft(a, bits)

Query result:

a

bits

bitwiseShiftLeft(a, bits)

0

1

0

1

1

2

1

2

4

9,223,372,036,854,776,000

1

-2

-9,223,372,036,854,776,000

1

0

bitwiseShiftRight

Shifts the long expression by number of given bits to the right. It has an optional parameter ignoreSign, that defines, if the sign bit should be ignored. If the parameter is false, it can be compared to >> in Java, otherwise to >>>.

Syntax

bitwiseShiftRight(long expression, long expression, ignoreSign: boolean)

Parameters

Parameter

Type

Description

Required

expression

long

The long expression that will be bitwise shifted right.

required

numberOfBits

long

The number of bits by which the expression will be shifted right.

required

ignoreSign

boolean expression

The boolean expression that indicates if the sign bit should be ignored (treated like any bit) while shifting, If false, the sign bit is preserved and just the other bits are shifted.

optional

Returns

The data type of the returned value is long.

Examples

Example 1
data record(a = 0, bits = 1),
record(a = 1, bits = 1),
record(a = 1, bits = 2),
record(a = 9223372036854775807, bits = 1),
record(a = -9223372036854775808, bits = 1),
record(a = -1, bits = 2)
| fieldsAdd bitwiseShiftRight(a, bits, ignoreSign: false),
bitwiseShiftRight(a, bits, ignoreSign: true)

Query result:

a

bits

bitwiseShiftRight(a, bits, ignoreSign:FALSE)

bitwiseShiftRight(a, bits, ignoreSign:TRUE)

0

1

0

0

1

1

0

0

1

2

0

0

9,223,372,036,854,776,000

1

4,611,686,018,427,388,000

4,611,686,018,427,388,000

-9,223,372,036,854,776,000

1

-4,611,686,018,427,388,000

4,611,686,018,427,388,000

-1

2

-1

4,611,686,018,427,388,000

bitwiseOr

Calculates the bitwise or between two long expressions.

Syntax

bitwiseOr(long expression, long expression)

Parameters

Parameter

Type

Description

Required

firstExpression

long

The first long expression for the binary operation.

required

secondExpression

long

The second long expression for the binary operation.

required

Returns

The data type of the returned value is long.

Examples

Example 1
data record(a = 0, b = 0),
record(a = 0, b = 1),
record(a = 1, b = 0),
record(a = 1, b = 1),
record(a = 12, b = 10)
| fieldsAdd bitwiseOr(a, b)

Query result:

a

b

bitwiseOr(a, b)

0

0

0

0

1

1

1

0

1

1

1

1

12

10

14

bitwiseXor

Calculates the bitwise xor between two long expressions.

Syntax

bitwiseXor(long expression, long expression)

Parameters

Parameter

Type

Description

Required

firstExpression

long

The first long expression for the binary operation.

required

secondExpression

long

The second long expression for the binary operation.

required

Returns

The data type of the returned value is long.

Examples

Example 1
data record(a = 0, b = 0),
record(a = 0, b = 1),
record(a = 1, b = 0),
record(a = 1, b = 1),
record(a = 12, b = 10)
| fieldsAdd bitwiseXor(a, b)

Query result:

a

b

bitwiseXor(a, b)

0

0

0

0

1

1

1

0

1

1

1

0

12

10

6