Operators/de
Deutsch · English
Zurück zu den Pascal Grundlagen.\
=FreePascal Operatoren=
==Adressoperator== Der Adressoperator @ gibt die Anfangsadresse einer Variablen, einer Prozedur oder einer Funktion zurück.
Ist der Compilerswitch {$T-}, dann ist der Rückgabewert ein untypisierter Pointer.
Ist der Compilerswitch {$T+}, dann ist der Rückgabewert ein typisierter Pointer.
Die Standardeinstellung für den Compiler ist {$T-}.\
==Zuweisungsoperator== Der Zuweisungsoperator, weist einem Datenfeld einen Wert zu.\
a := b;Relationale Operatoren
Folgende Operationen sind möglich:
- Ganzzahlige- und Fliesskommadatenfelder können auf beiden Seiten des Operators gemischt verwendet werden.
- Short-, Ansi- und Widestringdatenfelder können auf beiden Seiten des Operators gemischt verwendet werden.
=
gleich
<>
ungleich
<
kleiner als
>
grösser als
<=
kleiner gleich
>=
grösser gleich
in
Prüft, ob das Element in einem Set des gleichen Datentyps vorkommt.
Binäre arithmetische Operatoren
+
Addition
-
Subtraktion
*
Multiplikation
/
Division
div
Ganzzahldivision (Berechnet den ganzzahligen Wert davon, wie oft eine Ganzzahl in einer anderen Ganzzahl vorhanden ist.)
mod
Modulodivision (Berechnet den ganzzahligen Rest einer Division zweier Ganzzahlen.)
Unäre arithmetische Operatoren
+ legt als Vorzeichen fest, dass der Wert positiv ist
- legt als Vorzeichen fest, dass der Wert negativ ist
Beispiele:
a := +7;
b := -3;==Logische Operatoren==
not
Bitweise unäre Negation
and
Bitweises und
or
Bitweises oder
xor
Bitweises exclusives oder
shl
Bitweises Shift (verschieben) nach links
shr
Bitweises Shift (verschieben) nach rechts
<<
Bitweises Shift (verschieben) nach links (Entspricht dem Operator shl)
>>
Bitweises Shift (verschieben) nach rechts (Entspricht dem Operator shr)
Beispiele:
A shr 1 // Entspricht Ganzzahl DIV 2 (nur dass es schneller geht)
// (nur für ganzzahlige Datenfelder, das Ergebnis ist ganzzahlig abgerundet)
Not 1 // Entspricht -2
Not 0 // Entspricht -1
Not -1 // Entspricht 0
B shl 2 // Entspricht Ganzzahl * 4 (nur dass es schneller geht)
// (nur für ganzzahlige Datenfelder, das Ergebnis ist ganzzahlig)
1 or 2 // Entspricht 3
3 xor 1 // Entspricht 2Wahrheitsoperatoren
not
logische Negation (unary)
and
logisches und
or
logisches oder
xor
logisches xor
String-Operatoren
+ Stringaddition (fügt zwei Strings zusammen)\
==Set Operatoren==
+
Vereinigungsmenge
-
Differenzmenge
*
Schnittmenge
><
Symmetrische Differenz
<=
Enthält
include
Ein Element zum Set hinzufügen
exclude
Ein Element im Set löschen
in
Sieht nach, ob sich ein Element im Set befindet
Klassenoperatoren
is
prüft, ob das Objekt von einer bestimmte Klasse ist
as
führt eine bedingte Typumwandlung (bedingtes Typecasting) durch
==Zeiger-Operatoren==
Operator
Operation
Operandtyp
Ergebnistyp
Beispiel
+
Zeigeraddition
Zeichenzeiger, Integer
Zeichenzeiger
P + I
-
Zeigersubtraktion
Zeichenzeiger, Integer
Zeichenzeiger
P - Q
^
Zeiger-Dereferenzierung
Zeiger
Basistyp von Zeiger
P^
=
Gleich
Zeiger
Boolean
P = Q
<>
Ungleich
Zeiger
Boolean
P <> Q
Die Priorität der Operatoren
Für die Abarbeitung der Operatoren gibt es eine starre Reihenfolge.\
Operator
Priorität
Kategorie
Not, @
erste (höchste)
Unäre Operatoren
- / div mod and shl shr as << >>
zweite
Multiplizierende Operatoren
+ - or xor
dritte
Addierende Operatoren
< <> < > <= >= in is
vierte (niedrigste)
Relationale Operatoren
--Olaf 08:30, 4 November 2012 (UTC)
From the Free Pascal wiki, page "Operators/de", as it stood on 2021-05-02 after a change by Slawek, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
