AND

Dieser Operator wird verwendet um einen logischen Vergleich von zwei Ausdrücken vorzunehmen. Es wird immer eine bitweise Verknüpfung der zwei Ausdrücke durchgeführt.
Ergebnis = Ausdruck1 AND Ausdruck2

Beispiel

Dieses Beispiel verknüpft verschiedene Zahlen bitweise „UND“:

  dim x as integer
  x = 9 and 3

OR

Dieser Operator wird verwendet um einen logischen ODER-Vergleich von zwei Ausdrücken durchzuführen. Es wird immer eine bitweise Verknüpfung der zwei Ausdrücke durchgeführt. Ergebnis = Ausdruck1 OR Ausdruck2

Beispiel

Dieses Beispiel verknüpft verschiedene Zahlen bitweise „OR“:

  dim x as integer
  x = 9 or 3

XOR

Dieser Operator wird verwendet um einen logischen Exklusiv-ODER-Vergleich von zwei Ausdrücken durchzuführen. Es wird immer eine bitweise Verknüpfung der zwei Ausdrücke durchgeführt. Ergebnis = Ausdruck1 XOR Ausdruck2

Beispiel

Dieses Beispiel verknüpft verschiedene Zahlen bitweise „Exklusiv-ODER“:

  dim x as integer
  x = 9 xor 3

NOT

Dieser Operator wird verwendet um einen logische Negation eines Ausdrucks durchzuführen, wenn er in Bedingungen verwendet wird. In sonstigen Ausdrücken, z.Bsp. bei der Zuweisung oder als Parameter erzeugt er das Einer-Komplement des Ausdrucks.
Ergebnis = NOT Ausdruck

Beispiel

Dieses Beispiel führt eine bitweise Negation durch:

  dim x as integer
  x = not 33  ' Einer-Komplement von 33

<<

Dieser Operator wird verwendet um einen Wert um x Bits nach links zu schieben (Shift-Left). Der Parameter rechts vom Operator ist die Anzahl Bits um die verschoben wird. Die Anzahl Bits kann auch ein Ausdruck oder eine Variable sein. Achtung bei vorzeichenbehafteten Werten! Diese Operation verschiebt alle Bits. Für vorzeichenbehaftete Werte die arithmetische Bit-Schiebefunktion asl() verwenden.
Ergebnis = wert << anzahlBits

Beispiel

  ' im Ausdruck
  a = 0b10000001
  var = a << 3   ' verschiebt den Wert &b10000001  um 3 bits nach links zu &b00001000
  ' im Assembler
  asm
    ldi R16,(1 << 3)
  endasm

>>

Dieser Operator wird verwendet um einen Wert um x Bits nach rechts zu schieben (Shift-Right). Der Parameter rechts vom Operator ist die Anzahl Bits um die verschoben wird. Die Anzahl Bits kann auch ein Ausdruck oder eine Variable sein. Achtung bei vorzeichenbehafteten Werten! Diese Operation verschiebt alle Bits. Für vorzeichenbehaftete Werte die arithmetische Bit-Schiebefunktion asr() verwenden.
Ergebnis = wert >> anzahlBits

Beispiel

  ' im Ausdruck
  a = 0b10001000
  var = a >> 3   ' verschiebt den Wert &b10001000  um 3 bits nach rechts zu &b00010001
  ' im Assembler
  asm
    ldi R16,(0b10000000 >> 3)
  endasm

<<<

Dieser Operator wird verwendet um einen Wert um x Bits nach links zu rotieren (Rotate-Left). Der Parameter rechts vom Operator ist die Anzahl Bits um die verschoben wird. Die Anzahl Bits kann auch ein Ausdruck oder eine Variable sein.Achtung bei vorzeichenbehafteten Werten! Diese Operation rotiert alle Bits. Bei vorzeichenbehafteten, negativen Werten geht das Vorzeichen verloren.
Ergebnis = wert <<< anzahlBits
Hinweis: Operator nicht im Präprozessor verfügbar.

Beispiel

  ' im Ausdruck
  a = 0b10000001
  var = a <<< 1   ' rotiert den Wert &b10000001  um 1 bit nach links zu &b00000011

>>>

Dieser Operator wird verwendet um einen Wert um x Bits nach rechts zu rotieren (Rotate-Right). Der Parameter rechts vom Operator ist die Anzahl Bits um die rotiert wird. Die Anzahl Bits kann auch ein Ausdruck oder eine Variable sein. Achtung bei vorzeichenbehafteten Werten! Diese Operation rotiert alle Bits. Bei vorzeichenbehafteten, negativen Werten geht das Vorzeichen verloren.
Ergebnis = wert >>> anzahlBits
Hinweis: Operator nicht im Präprozessor verfügbar.

Beispiel

  ' im Ausdruck
  a = 0b00000011
  var = a >>> 1   ' rotiert den Wert &b00000011  um 1 bit nach rechts zu &b10000001