Skip to content

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:

0001
0111
0110