Simple types / Numbers / Integer

var
  A, B, C1C2C3C4C5C6Integer;
begin
  A := 5//0101
  B := 6//0110

  C1 := A and B;
  //C1 is 4 (0100)

  C2 := A or B;
  //C2 is 7 (0111)

  C3 := A xor B;
  //C3 is 3 (0011)

  //shift right
  C4 := A shr 1;
  //C4 is 2 (0010)

  //shift left
  C5 := B shl 1;
  //C5 is 12 (1100)

  //bits inversion
  C6 := not B;
  //C6 is -7

  WriteLn('c1 = 'C1);
  WriteLn('c2 = 'C2);
  WriteLn('c3 = 'C3);
  WriteLn('c4 = 'C4);
  WriteLn('c5 = 'C5);
  WriteLn('c6 = 'C6);
end.