Fortran: FORTRAN 77: Arithmetische Ausdrücke
Arithmetische Operatoren
FORTRAN 77 kennt folgende arithmetische Operatoren
| Operator | Kommentar | Mathematische Entsprechung |
|---|---|---|
A + B |
Addition | |
A - B |
Subtraktion | |
A * B |
Multiplikation | |
A / B |
Division | |
A ** B |
Exponentiation |
Mit dem Exponentiationsoperator (Potenzierung) war und ist FORTRAN 77 anderen Programmiersprachen einen Schritt voraus. Andererseits kennt FORTRAN 77 den aus vielen anderen Programmiersprachen bekannten Modulo-Operator nicht. Als Überkompensation gibt es für diesen Zweck die MOD()-Funktion sowohl für Ganzzahlen, wie auch für Fließkommazahlen.
Operatorenpriorität
Die Prioriät der arithmetischen Operatoren entspricht den mathematischen Gesetzmäßigkeiten.
- Klammerung vor allem anderen, z. B.
(A+B)*CA*C+B*C - Exponentiation vor Punktrechnung, z. B.
A*B**CA*(B**C) - Punktrechnung vor Strichrechnung, z. B.
A+B*CA+(B*C)
Berechnungsfolge bei gleicher Priorität
- Klammerung, Punktrechnung und Strichrechnung:
Beispiel:A*B/C*D((A*B)/C)*D - Exponentiation:
Beispiel:A**B**CA**(B**C)
Außerdem ist zu beachten, dass niemals zwei Operatoren direkt aufeinander folgen dürfen.
Beispiel: Der Ausdruck 1.5**-1 ist in FORTRAN 77 falsch und führt zu einer Fehlermeldung. Richtig ist 1.5**(-1)
Ergebnisdatentyp
Operanden gleichen Datentyps
Bei Operanden gleichen Datentyps erhält das Ergebnis den Datentyp der Operanden.
Beispiel: Fortran:Vorlage: Pre1
Implizite Typumwandlung bei Operanden gemischten Datentyps
Weisen die Operanden unterschiedliche Datentypen auf, so wird bei jeder Operation, falls nötig, das Ergebnis dem höherwertigen Datentyp angepasst.
| INTEGER REAL DOUBLE PRECISION COMPLEX |
Beispiel:
Fortran:Vorlage: Pre1
Explizite Typumwandlung
FORTRAN 77 besitzt auch Funktionen zur expliziten Umwandlung des Datentyps. Diese werden im Kapitel Standardfunktionen näher beschrieben.
Beispiel: Fortran:Vorlage: Pre1