5. Sprachelemente / Operatoren | ||||||||
|
||||||||
5.6 Ein- und zweistellige Additionsoperatoren, Multiplikationsoperatoren
und höchstvorrangige Operatoren
Der Verkettungsoperator & (Konkatenation) ist für alle eindimensionalen Reihungstypen mit nicht limitierten Komponenten definiert. Es lassen sich Reihungen mit Reihungen, Reihungen mit Komponenten, Komponenten mit Reihungen und Komponenten mit Komponenten zu neuen Reihungen verknüpfen. Mit diesem Operator können z. B. Zeichenketten und einzelne Zeichen in beliebiger Reihenfolge verknüpft werden. Das Ergebnis ist immer eine Zeichenkette. Beispiele:
Einstellige Additionsoperatoren Die einstelligen Additionsoperatoren + und - sind für alle numerischen Typen definiert und bestimmen das Vorzeichen des nachfolgenden Ausdrucks. Beispiel:
Multiplikationsoperatoren (*, /, mod, rem) Für ganzzahlige Typen sind alle Multiplikationsoperatoren definiert, für reelle Typen nur Multiplikation und Division. Ganzzahlige Typen und reelle Typen können auch gemischt verwendet werden. Ein ganzzahliger Wert kann allerdings nicht durch einen reellen Wert dividiert werden, hierzu muß der ganzzahlige Wert erst in einen reellen Wert konvertiert werden. Bei der Verwendung zweier Festpunkttypen sollte eine explizite oder implizite Typkonvertierung durchgeführt werden (z. B. durch Zuweisung an einen reellen Typen), da sonst auf eine feste Anzahl an Nachkommastellen gerundet wird. Beispiele:
"mod"und "rem"liefern den Rest der Division und sind für positive Operanden identisch. Höchstvorrangige Operatoren (**, not, abs) Abs und not sind einstellige Operatoren, die jeweils vor einem Operanden stehen. Der Operator abs ist für alle numerischen Typen definiert. Als Ergebnis erhält man immer das positive Abbild des Wertes. Der Typ des Wertes bleibt gleich. Beispiele:
Der Operator not ist für alle Booleschen Typen und alle modularen Typen sowie für eindimensionale Reihungen, deren Komponenten aus Booleschen Typen bestehen, definiert. Für modulare Typen entspricht dieses dem bitweisen Gegenteil des Wertes. Bei einer Reihung wird für jede Komponente ein logisch negierter Wert in die Zielreihung geschrieben. Der Typ des Wertes bleibt gleich. Beispiele:
Der Exponentiationsoperator ** ist für alle ganzzahligen Typen und reelle Typen definiert. Beim Einsatz von ganzzahligen Typen muß der Exponent vom Typ Natural sein, bei reellen Typen können Werte vom Typ Integer als Exponent verwendet werden. Der Ergebniswert hat den gleichen Typ wie die Basis. Bei Verwendung negativer Exponenten erhält man den Kehrwert des Wertes, den man beim positiven Exponenten erhalten würde. Beispiele:
|
||||||||
|