Sign in Join
Wiki copytemporary

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.\

pascal
a := b;

Relationale Operatoren

Folgende Operationen sind möglich:

  1. Ganzzahlige- und Fliesskommadatenfelder können auf beiden Seiten des Operators gemischt verwendet werden.
  2. 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:

pascal
  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:

pascal
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 2

Wahrheitsoperatoren

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

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.

Revision 2, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.