BitExp Class

Bit expression generator. See Exp.

The bin expression argument in these methods can be a reference to a bin or the result of another expression. Expressions that modify bin values are only used for temporary expression evaluation and are not permanently applied to the bin. Bit modify expressions return the blob bin's value.

Offset orientation is left-to-right. Negative offsets are supported. If the offset is negative, the offset starts backwards from end of the bitmap. If an offset is out of bounds, a parameter error will be returned.

Definition

Namespace: Aerospike.Client
Assembly: AerospikeClient (in AerospikeClient.dll) Version: 7.0.1
C#
public sealed class BitExp
Inheritance
Object    BitExp

Constructors

BitExpInitializes a new instance of the BitExp class

Methods

Add Create expression that adds value to byte[] bin starting at bitOffset for bitSize and returns byte[]. BitSize must be <= 64. Signed indicates if bits should be treated as a signed number. If add overflows/underflows, BitOverflowAction is used.
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 24
  • bitSize = 16
  • value = 128
  • signed = false
  • bin result = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b10000101]
And Create expression that performs bitwise "and" on value and byte[] bin at bitOffset for bitSize and returns byte[].
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 23
  • bitSize = 9
  • value = [0b00111100, 0b10000000]
  • bin result = [0b00000001, 0b01000010, 0b00000010, 0b00000000, 0b00000101]
Count Create expression that returns integer count of set bits from byte[] bin starting at bitOffset for bitSize.
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 20
  • bitSize = 4
  • returns 2
Get Create expression that returns bits from byte[] bin starting at bitOffset for bitSize.
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 9
  • bitSize = 5
  • returns [0b10000000]
GetInt Create expression that returns integer from byte[] bin starting at bitOffset for bitSize. Signed indicates if bits should be treated as a signed number.
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 8
  • bitSize = 16
  • signed = false
  • returns 16899
Insert Create expression that inserts value bytes into byte[] bin at byteOffset and returns byte[].
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • byteOffset = 1
  • value = [0b11111111, 0b11000111]
  • bin result = [0b00000001, 0b11111111, 0b11000111, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
Lscan Create expression that returns integer bit offset of the first specified value bit in byte[] bin starting at bitOffset for bitSize.
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 24
  • bitSize = 8
  • value = true
  • returns 5
Lshift Create expression that shifts left byte[] bin starting at bitOffset for bitSize and returns byte[].
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 32
  • bitSize = 8
  • shift = 3
  • bin result = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00101000]
Not Create expression that negates byte[] bin starting at bitOffset for bitSize and returns byte[].
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 25
  • bitSize = 6
  • bin result = [0b00000001, 0b01000010, 0b00000011, 0b01111010, 0b00000101]
Or Create expression that performs bitwise "or" on value and byte[] bin at bitOffset for bitSize and returns byte[].
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 17
  • bitSize = 6
  • value = [0b10101000]
  • bin result = [0b00000001, 0b01000010, 0b01010111, 0b00000100, 0b00000101]
Remove Create expression that removes bytes from byte[] bin at byteOffset for byteSize and returns byte[].
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • byteOffset = 2
  • byteSize = 3
  • bin result = [0b00000001, 0b01000010]
Resize Create expression that resizes byte[] to byteSize according to resizeFlags (See BitResizeFlags) and returns byte[].
  • bin = [0b00000001, 0b01000010]
  • byteSize = 4
  • resizeFlags = 0
  • returns [0b00000001, 0b01000010, 0b00000000, 0b00000000]
Rscan Create expression that returns integer bit offset of the last specified value bit in byte[] bin starting at bitOffset for bitSize. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 32
  • bitSize = 8
  • value = true
  • returns 7
Rshift Create expression that shifts right byte[] bin starting at bitOffset for bitSize and returns byte[].
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 0
  • bitSize = 9
  • shift = 1
  • bin result = [0b00000000, 0b11000010, 0b00000011, 0b00000100, 0b00000101]
Set Create expression that sets value on byte[] bin at bitOffset for bitSize and returns byte[].
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 13
  • bitSize = 3
  • value = [0b11100000]
  • bin result = [0b00000001, 0b01000111, 0b00000011, 0b00000100, 0b00000101]
SetInt Create expression that sets value to byte[] bin starting at bitOffset for bitSize and returns byte[]. BitSize must be <= 64.
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 1
  • bitSize = 8
  • value = 127
  • bin result = [0b00111111, 0b11000010, 0b00000011, 0b0000100, 0b00000101]
Subtract Create expression that subtracts value from byte[] bin starting at bitOffset for bitSize and returns byte[]. BitSize must be <= 64. Signed indicates if bits should be treated as a signed number. If add overflows/underflows, BitOverflowAction is used.
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 24
  • bitSize = 16
  • value = 128
  • signed = false
  • bin result = [0b00000001, 0b01000010, 0b00000011, 0b0000011, 0b10000101]
Xor Create expression that performs bitwise "xor" on value and byte[] bin at bitOffset for bitSize and returns byte[].
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 17
  • bitSize = 6
  • value = [0b10101100]
  • bin result = [0b00000001, 0b01000010, 0b01010101, 0b00000100, 0b00000101]

See Also