Difference between revisions of "Operators/de"
From Free Pascal wiki
Jump to navigationJump to searchLine 15: | Line 15: | ||
# Ganzzahlige- und Fliesskommadatenfelder können auf beiden Seiten des Operators gemischt verwendet werden. | # 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. | # Short-, Ansi- und Widestringdatenfelder können auf beiden Seiten des Operators gemischt verwendet werden. | ||
− | = | + | <table> |
− | <> ungleich< | + | <tr> |
− | < | + | <td>=</td> |
− | > | + | <td>gleich</td> |
− | <= kleiner gleich< | + | </tr> |
− | >= grösser gleich< | + | <tr> |
− | in Prüft, ob das Element in einem Set des gleichen Datentyps vorkommt.< | + | <td><></td> |
+ | <td>ungleich</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><</td> | ||
+ | <td>kleiner als</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>></td> | ||
+ | <td>grösser als</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><=</td> | ||
+ | <td>kleiner gleich</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><=</td> | ||
+ | <td>grösser gleich</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>in</td> | ||
+ | <td>Prüft, ob das Element in einem Set des gleichen Datentyps vorkommt.</td> | ||
+ | </tr> | ||
+ | </table> | ||
<br> | <br> | ||
+ | |||
==Binäre arithmetische Operatoren== | ==Binäre arithmetische Operatoren== | ||
<table> | <table> |
Revision as of 19:36, 11 October 2012
│
Deutsch (de) │
English (en) │
Die 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ückgabewerte ein untypisierter Pointer.
Ist der Compilerswitch {$T+} dann ist der Rückgabewerte ein typisierter Pointer.
Die Standardeinstellung für den Compiler ist {$T-}.
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 das 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 das es schneller geht
// (nur für ganzzahlige Datenfelder, das Ergebnis ist ganzzahlig)
1 or 2 // Entspricht 3
3 xor 1 // Entspricht 2
Wahrheits Operatoren
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 Elememt zum Set hinzufügen |
exclude | Ein Element im Set löschen |
in | Sieht nach, ob sich ein Element im Set befindet |
Klassen Operatoren
is | prüft, ob das Objekt von einer bestimmte Klasse ist |
as | führt eine bedingte Typumwandlung (bedingtes Typecasting) durch |
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 17:09, 11 October 2012 (UTC)