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