Operatory arytmetyczne
W kolejności priorytetów:
- ** potęgowanie
- * mnożenie
- / dzielenie
- + jednoargumentowy plus
- - jednoargumentowy minus
- + dwuargumentowy plus (dodawanie)
- - dwuargumentowy minus (odejmowanie)
Uwagi:
- Operatory 2 i 3 mają jednakowy priorytet. Podobnie 4 i 5 czy 6 i 7. W przypadku operatorów o jednakowym priorytecie działąnia wykonywane są od lewej do prawej. Wyjątkiem jest wyrażenie A**B**C, które opliczane jest od prawej do lewej, czyli A**(B**C). Można używać nawiasów do zmiany kolejności operacji.
- Wyrażenie A**-B*C wyliczane jest jako A**(-(B*C)) bo mnożenie ma wyższy priorytet niż jednoargumentowy minus (operator negacji)
Operatory tekstowe
Jest tylko jeden operator: konkatenacji (łączenia tekstów): //
Operatory relacji
- < albo .LT. — mniejszy niż
- <= albo .LE. — mniejszy lub równy
- == albo .EQ. — równy
- /= albo .NE. — nie równy
- > albo .GT. — większy
- >= albo .GE. — większy lub równy
Wynikiem działania operatora relacji jest wartość logiczna (prawda .TRUE. lub fałsz .FALSE.).
Wszystkie operatory porównania mają jednakowy priorytet. Operatory arytmetyczne oraz operator konkatenacji mają wyższy prirytet niż operatory porównania.
Operatory logiczne
- .AND. — logiczne I
- .OR. — logiczne LUB
- .NEQV. — różnica symetryczna (również .XOR.)
- .EQV. — logiczna równoważność
- .NOT. — negacja (operator jednoargumentowy)
Tabele prawdy operatorów logicznych
Iloczyn logiczny
A\B | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
Suma logiczna
A\B | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 1 |
Różnica symetryczna
A\B | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 0 |
Logiczna równoważność
A\B | 0 | 1 |
---|---|---|
0 | 1 | 0 |
1 | 0 | 1 |