### AND

This operator is used to perform a logical comparison of two expression. It is always performed a bitwise combination of the two expressions.
Result = Expression1 AND Expression2

#### Example

This example combinate different values bitwise „AND“:

```  dim x as integer
x = 9 and 3```

### OR

This operator is used to perform a logical OR-comparison of two expressions. It is always performed a bitwise combination of the two expressions. Result = Expression1 OR Expression2

#### Example

This example combinate different values bitwise „OR“:

```  dim x as integer
x = 9 or 3```

### XOR

This operator is used to perform a logical Exclusive-OR comparison of two expressions. It is always performed a bitwise combination of the two expressions. Result = Expression1 XOR Expression2

#### Example

This example combinate different values bitwise „XOR“:

```  dim x as integer
x = 9 xor 3```

### NOT

This operator is used to perform a logical negation of a expression in conditions. In other Expressions, e.g. if assigned as parameter, the „ones complement“.
Result = NOT Expression

#### Example

This example performs a bitwise negation:

```  dim x as integer
x = not 33  ' Ones complement of 33```

### <<

This operator is used to shift x bits left. The argument right from the operator is the number of bits. The number of bits can be a expression or variable. Warning with signed values! This operation shifts all bits. For signed values use the arithmetical bit-shift asl().
Result = Value << numBits

#### Example

```  ' in Expressions
a = &b10000001
var = a << 3   ' shifts the value &b10000001 3 bits left to &b00001000
' in assembler source
asm
ldi R16,(1 << 3)
endasm```

### >>

This operator is used to shift x bits right. The argument right from the operator is the number of bits. The number of bits can be a expression or variable. Warning with signed values! This operation shifts all bits. For signed values use the arithmetical bit-shift asr().
Result = Value >> numBits

#### Example

```  ' in Expressions
a = &b10001000
var = a >> 3   ' shifts the value &b10001000  3 bits right ro &b00010001
' in assembler source
asm
ldi R16,(&b10000000 >> 3)
endasm```

### <<<

Implemented in version 2013.r2

This operator is used to rotate the Value x bits left. The argument right from the operator is the number of bits. The number of bits can be a expression or variable. Warning with signed values! This operation rotates all bits. The sign-state of signed and negative values are destroyed.
Result = Value <<< numBits
Note: Operator not available in the preprocessor.

#### Example

```  ' in Expressions
a = &b10000001
var = a <<< 1   ' rotates the value &b10000001  1 bit left to &b00000011```

### >>>

Implemented in version 2013.r2

This operator is used to perform a Wert um x Bits nach rechts zu rotieren (Rotate-Right). The argument right from the operator is the number of bits. The number of bits can be a expression or variable. Warning with signed values! This operation rotates all bits. The sign-state of signed and negative values are destroyed.
Result = Value >>> numBits
Note: Operator not available in the preprocessor.

#### Example

```  ' im Expression
a = &b00000011
var = a >>> 1   ' rotates the value &b00000011  1 bit right to &b10000001```