ABAP Keyword Documentation → ABAP - Reference → Processing Internal Data → Character String and Byte String Processing → Expressions and Functions for Byte String Processing → bit_exp - Bit Expressions
bit_exp - Bit Operators
Bit operators work with the individual bits of the operands. The
calculation length
is specified by the operands involved. Linking two operands with BIT-AND
,
BIT-OR
, and BIT-XOR
has a result of this length,
as each individual bit is set according to the table from the bits of the corresponding positions in the operands. BIT-NOT
changes the bits of the operands to its right as shown in the table.
x | y | BIT-NOT x | x BIT-AND y | x BIT-XOR y | x BIT-OR y |
---|---|---|---|---|---|
0 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 0 | 1 |
The order of the columns in the table reflects the priority of the bit operators. The operator BIT-NOT
has the highest, and BIT-OR
the lowest priority. Within one
level of parentheses, the results of operators with
higher priority are formed before the results with operators of a lower priority. For consecutive operators
of the same priority, the evaluation is carried out from left to right, except for the operator BIT-NOT
, which is executed from right to left.
Other versions: 7.31 | 7.40 | 7.54
Example
Uses various bit operators
TYPES output TYPE TABLE OF xstring WITH EMPTY KEY.
DATA hex1 TYPE xstring VALUE '0011'.
DATA hex2 TYPE xstring VALUE '0101'.
cl_demo_output=>display( VALUE output(
( hex1 BIT-AND hex2 )
( hex1 BIT-OR hex2 )
( hex1 BIT-XOR hex2 ) ) ).
The displayed result is:
0111
0110