Numerische Datentypen

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

*Numerische Typen in Modula-2: INTEGER, LONGINT, CARDINAL, LONGCARD, REAL und LONGREAL.
 
*In Modula-2 konnten arithmetische Operatoren nur auf Operanden des identischen Typs durchgeführt werden. Entsprechend sind bei Bedarf explizite Konvertierungen notwendig:
fraction := FLOAT(i) / FLOAT(j);
 
*In Oberon gibt es folgende hierarchisch angeordnete numerische Typen:
SHORTINT (= INTEGER (= LONGINT (=     
      REAL (= LONGREAL
 
*Wenn zwei Operanden unterschiedlichen numerischen Typs in Oberon miteinander verknüpft werden, ist das Ergebnis von dem umfangreicheren Typ der beiden. So ist folgendes zulässig:
fraction := i / real; oder auch
fraction := i / j;
 
*Für Konvertierungen stehen folgende Operatoren zur Verfügung:
SHORTKonvertierung in den nächstkleineren Datentyp, z.B. von INTEGER auf SHORTINT. Geht jedoch nicht von REAL auf LONGINT.
LONGKonvertierung in den nächstgrößeren Datentyp (mit Ausnahme von LONGINT auf REAL).
ENTIERKonvertierung von REAL oder LONGREAL nach LONGINT. Dabei wird (im Gegensatz zu TRUNC in Modula-2) nach -oo gerundet. So liefert ENTIER(-0.2) den Wert -1.

 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 29.06.1999