| <<< zur Fortran-Startseite | |
| << Fortran 95 | Fortran 2003 >> |
| < Felder | Logische Ausdrücke > |
Arithmetische Operatoren
Fortran 95 kennt wie FORTRAN 77 folgende arithmetische Operatoren
| Operator | Kommentar |
|---|---|
| + | Addition |
| - | Subtraktion |
| * | Multiplikation |
| / | Division |
| ** | Exponentiation |
Operatorenpriorität
Die Prioriät der arithmetischen Operatoren entspricht den mathematischen Konventionen.
- 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 95 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 90/95-Code (free source form) |
program bsp implicit none real :: a a = 3/2 ! 3 ist ein integer und 2 ist auch ein integer, ! daher muss das Ergebnis auch ein integer sein, also 1. ! Die Zuweisung an die real-Variable a stellt das ! Ergebnis nicht mehr richtig. write(*,*) a ! Ausgabe: 1.00000 end program bsp |
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 complex |
Beispiel:
| Fortran 90/95-Code (free source form) |
program bsp implicit none real :: a a = 3/2. ! 2. ist ein real. Jetzt stimmt das Ergebnis. write (*,*) a ! Ausgabe: 1.500000 end program bsp |
Explizite Typumwandlung
Fortran 95 besitzt auch Funktionen zur expliziten Umwandlung des Datentyps. Diese werden im Kapitel Standardfunktionen näher beschrieben.
Beispiel:
| Fortran 90/95-Code (free source form) |
program bsp implicit none real :: r complex :: c r = 2. c = cmplx(r) write (*,*) c ! Ausgabe: ( 2.000000 , 0.000000 ) end program bsp |
| <<< zur Fortran-Startseite | |
| << Fortran 95 | Fortran 2003 >> |
| < Felder | Logische Ausdrücke > |
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.