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]
|