Typregeln von Operatoren (Typregeln von Operatoren), Lektion, Seite 723596
https://www.purl.org/stefan_ram/pub/typregeln_programmieren (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
C++-Kurs
Java-Kurs
C-Kurs

Typregeln von Operatoren

Eine Typregel  ist nicht  mit einer Typanforderung  gleichzusetzen: Eine Typanforderung  legt fest, was von einem Programm verlangt wird, damit es überhaupt als korrekt gilt. Eine Typregel  kommt erst zur Geltung, nachdem alle Typanforderungen  schon erfüllt sind. Die Typregel  legt dann die Typen bestimmtern Ausdrücke fest.

Typen von Ausdrücken

Jeder Ausdruck hat einen Typ, der (zusätzlich zu den Regeln der Syntax) Regeln dafür festlegt, an welchen Stellen eines Programms jener Ausdruck verwendet werden kann.

Typen

Nicht nur Literale, sondern auch Operatorausdrücke  haben einen Typ.

Jeder  Ausdruck hat einen Typ (=Datentyp), welcher schon durch den Ausdruck selber bestimmt ist.

Der Typ  eines Ausdrucks ist also immer bereits durch den Quelltext festgelegt. Man kann ihn immer aus dem Quelltext  ablesen, ohne daß man das Programm starten muß.

(Der Wert  eines Ausdrucks ist hingegen nicht  immer durch den Quelltext festgelegt. Manchmal muß man ein Programm erst laufen  lassen, um einen Wert  zu ermitteln.)

Regeln für den Typ des gesamten Ausdrucks

Ein mit einem Minuszeichen gebildeter Operatorausdruck hat denselben  Typ wie der Ausdruck hinter dem Minuszeichen (falls dieser ›int‹ oder ›double‹ ist). Dafür schreiben wir symbolisch auch kurz:

Typregeln
- int     = int
- double  = double

Man sieht, daß die zuvor behandelte Signatur  hier nun verwendet wurde, um die Typregeln zu schreiben: Ein Ausdruck mit der Signatur „-int“ hat den Typ ›int‹, Ein Ausdruck mit der Signatur „-double“ hat den Typ ›double‹.

Der Ausdruck »-4« hat beispielsweise die Signatur „-int“ und daher den Typ ›int‹.

Der Ausdruck »-2.3« hat die Signatur „-double“ und daher den Typ ›double‹.

Der Wertebereich des Datentyps ›int

Der Wertebereich des Datentyps ›int‹ umfaßt die Werte von «-2_147_483_648» bis «2_147_483_647».

Die Bedeutung eines Operators ⃗

Die Bedeutung eines Operators wird dadurch angegeben, daß gesagt wird, wie der Typ und der Wert  eines aus diesem Operator und seinen Operanden bestehenden Ausdrucks ermittelt werden.

Der Typ eines solchen Ausdrucks  ist bereits durch den Quelltext bestimmt und gehört daher zur Quelltextsemantik, also der Semantik, welche Aussagen über einen solchen Ausdruck macht, die an Hand des Quelltextes gemacht werden können.

Um den Wert  eines Ausdrucks  zu ermitteln, ist es in manchen Fällen nötig, den Ausdruck auszuwerten, was erst beim Ablauf eines Programms geschieht. Daher gehören die Regeln zur Ermittlung des Wertes eines Ausdrucks zur Laufzeitsemantik.

Die Bedeutung eines Vorzeichenoperators ergibt sich aus den schon genannten Typregeln und daraus, daß der Vorzeichenoperator »-« das Vorzeichen seines Operanden verändert, aber den Betrag (den Abstand von Null) des Operanden unverändert läßt, während der Vorzeichenoperator »+« den Wert seines Operanden als Ergebnis hat.

Erklärungen von Sprachelementen ⃗

Die Erklärung eines Sprachelements einer Programmiersprache besteht normalerweise aus den folgenden Teilen:

Typanforderungen
Übungsfragen

?   Typergebnisse

Welchen Datentyp haben die folgenden Ausdrücke jeweils?

A »-2«

B »-2.0«

Typregeln
- int     = int
- double  = double

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723596 stefan_ram:723596 Typregeln von Operatoren Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723596, slrprddef723596, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/typregeln_programmieren