|
Bugfixes am Forum
Subdomains aktiviert
Counterscript entfernt
|
| |
|
|
Benutzerhandbuch |
|
|
Anhang 5
Blitz2 Operatoren
Ein Ausdruck besteht aus Variablen, Konstanten, Operatoren und Funktionen. Operatoren sind z.B. das Plus- oder Minuszeichen.
Operatoren erzeugen ein Ergebnis unter Verwendung entweder nur des Operanden auf der rechten Seite:
a=NOT 5
oder der Operanden auf der rechten und linken Seite des Operators:
a=5+2
Ein Ausdruck kann aus mehreren Operatoren bestehen:
a=5*6+3
Natürlich hängt das Ergebnis von der Reihenfolge ab, in der die Operationen ausgeführt werden: wird die Multiplikation zuerst ausgeführt, ergibt sich 33, wird die Addition zuerst ausgeführt, also 5*(6+3) ergibt sich 45.
In Blitz2 ist genau festgelegt, welche Operatoren vorrangig vor anderen ausgeführt werden. Da z.B. die Multiplikation immer vor der Addition ausgeführt wird, sind die folgenden beiden Zeilen gleichwertig:
a=5*6+3
a=3+5*6
Um die Präzedenz der Operatoren zu umgehen, werden die jenigen Ausdrücke, die zuerst ausgewertet werden sollen, eingeklammert:
a=5*(6+3)
Die folgende Liste enthält alle Blitz2 Operatoren, gruppiert nach ihrer Priorität (RHS= rechte Seite, LHS= linke Seite). Operatoren in der selben Gruppe haben die gleiche Priorität, die Priorität der Gruppen nimmt nach unten hin ab. Werden zwei Operatoren der selben Priorität in einem Ausdruck verwendet, werden sie in der Reihenfolge ihres Auftretens ausgewertet.
NOT
|
:
|
RHS logisch negiert
|
-
|
:
|
RHS arithmetisch negiert
|
BITSET
|
:
|
LHS mit RHS Bits gesetzt
|
BITCLR
|
:
|
LHS mit RHS Bits gelöscht
|
BITCHG
|
:
|
LHS mit RHS Bits gewechselt
|
BITTST
|
:
|
wahr wenn LHS Bits von RHS gesetzt sind
|
^
|
:
|
LHS hoch RHS
|
LSL
|
:
|
LHS logisch um RHS Stellen nach links verschoben
|
ASL
|
:
|
LHS arithmetisch um RHS Stellen nach links verschoben
|
LSR
|
:
|
LHS logisch um RHS Stellen nach rechts verschoben
|
ASR
|
:
|
LHS arithmetisch um RHS Stellen nach rechts verschoben
|
&
|
:
|
logische UND-Verknüpfung zwischen LHS und RHS
|
|
|
:
|
logische ODER-Verknüpfung zwischen LHS und RHS
|
*
|
:
|
LHS multipliziert mit RHS
|
/
|
:
|
LHS dividiert durch RHS
|
+
|
:
|
LHS addiert zu RHS
|
-
|
:
|
RHS subtrahiert von LHS
|
=
|
:
|
wahr wenn LHS gleich RHS
|
<>
|
:
|
wahr wenn LHS ungleich RHS
|
<
|
:
|
wahr wenn LHS kleiner RHS
|
>
|
:
|
wahr wenn LHS größer RHS
|
<=
|
:
|
wahr wenn LHS kleiner oder gleich RHS
|
>=
|
:
|
wahr wenn LHS größer oder gleich RHS
|
AND
|
:
|
logische UND-Verknüpfung zwischen LHS und RHS
|
OR
|
:
|
logische ODER-Verknüpfung zwischen LHS und RHS
|
Boolsche Operatoren
Die Boolsche Algebra arbeitet mit nur zwei Werten "wahr" und "falsch". In Blitz2 wird der Wert falsch durch 0 repräsentiert, wahr wird durch -1 repräsentiert. Die Vergleichs-Operatoren =, <>, <=, =>, < und > erzeugen alle ein Boolsches Ergebnis, also wahr oder falsch.
Die Anweisung NPrint 2=2 gibt den Wert -1 aus, da das Ergebnis der Operation 2=2 wahr ist. Die Operatoren AND, OR und NOT können ebenfalls als Boolsche Operatoren verwendet werden.
Nprint 2=2 AND 5=6 liefert das Ergebnis 0, da nicht beide Bedingungen erfüllt sind. Der Operator OR liefert wahr, sobald eine der beiden Bedingungen erfüllt ist, der Operator NOT liefert wahr, wenn der Operand falsch ist und umgekehrt.
Binäre Operatoren
Einige der Blitz2 Operatoren arbeiten mit binärer Arithmetik.
Diese Operationen sind besonders schnell, da sie direkt den Prozessor-Instruktionen entsprechen.
Im Binärsystem werden alle Zahlen durch eine Folge von Einsen und Nullen repräsentiert, die 'Bits' genannt werde. Ein 'Byte' besteht aus acht solchen Bits, ein 'Wort' (Word) aus 16 und ein 'Doppelwort' oder 'Langwort' (Longword) aus 32 Bits.
Eine eingehende Erläuterung der Funktionsweise der binären Operatoren findet sich in jeder Beschreibung des 68000 Microprozessors.
|
|
|
|
|
|