BitExp Methods

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