Inkrement und Dekrement

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Inkrement)
Wechseln zu: Navigation, Suche
-- ist eine Weiterleitung auf diesen Artikel. Für das Zeichen „–“ siehe Halbgeviertstrich.

Bei der schrittweisen Erhöhung bzw. Verminderung einer Größe oder Variablen ist das Inkrement (von lat. incrementare: vergrößern) bzw. Dekrement (von lat. decrementare: vermindern) der festgelegte Betrag der Änderung. Ein Beispiel ist ein Zähler in einem Drehkreuz, der bei jedem Durchgang seinen Wert um 1 erhöht. Anwendung finden die Begriffe vor allem in der Informatik.

Informatik[Bearbeiten]

Inkrement bzw. Dekrement sind elementare Operationen, die auf Maschinenebene meist durch einen einzelnen Befehl ausgeführt werden. Die Konstruktion von Schleifen basiert oft auf dem Inkrementieren oder Dekrementieren einer Variablen. Im häufigsten Fall ist der Betrag des Inkrements bzw. Dekrements 1.

Umsetzung in verschiedenen Programmiersprachen[Bearbeiten]

Oft ist die Inkrement beziehungsweise Dekrement-Operation nur für Ganzzahlvariablen definiert, manchmal auch für Aufzählungstypen (Beispiel: Wochentage). In der Programmiersprache Perl kann man die Operation auch auf Zeichenketten anwenden.

Auch wenn in vielen Programmiersprachen eine Inkrementoperation mit einem Maschinenbefehl umgesetzt wird, ist das nicht überall der Fall. In Java beispielsweise ist ein Inkrement oder Dekrement einer Variablen eines primitiven Datentyps nicht atomar,[1] das bedeutet, dass bereits auf der Java Bytecodeebene diese Operation in mehrere (Maschinen-)Befehle unterteilt wird.

Kodebeispiele[Bearbeiten]

i und j bezeichnen hier Variablen.

Programmiersprachen Kode Wirkung
Brainfuck + Inkrementierung der aktuellen Zelle um 1
- Dekrementierung der aktuellen Zelle um 1
C, C++, C#, Perl, PHP, Java und JavaScript i++; Postinkrement
++i; Präinkrement
i += j; i wird um j erhöht
i--; Postdekrement
--i; Prädekrement
i -= j; i wird um j verringert
COBOL ADD j TO i i wird um j erhöht
ADD -j TO i i wird um j verringert
Pascal Inc(i); i wird um 1 erhöht
Inc(i,j); i wird um j erhöht
Dec(i); i wird um 1 verringert
Dec(i,j); i wird um j verringert
PowerBASIC Incr i i wird um 1 erhöht
Decr i i wird um 1 verringert
Python, Ruby und Visual Basic i += 1 i wird um 1 erhöht
i += j i wird um j erhöht
i -= 1 i wird um 1 verringert
i -= j i wird um j verringert

In Perl, PHP und der Mehrheit anderer höherer Programmiersprachen wird auf die gleiche Weise wie in C in- und dekrementiert, mit dem Unterschied, dass skalare Variablen durch das Präfix $ gekennzeichnet werden.

Wertzuweisungszeitpunkt in übergeordneten Ausdrücken[Bearbeiten]

Wird eine Inkrement- oder Dekrement-Operation in einer Anweisung innerhalb eines anderen Ausdruckes verwendet, muss unterschieden werden, ob die Werterhöhung oder -verminderung vor oder nach der Auswertung des übergeordneten Ausdrucks stattfindet.

Erklärung Beispiel in Java-Kode
Inkrement Postinkrement Nachherige Werterhöhung.
int i = 5;
int c = i++; // c = 5
Präinkrement Vorherige Werterhöhung
int i = 5;
int d = ++i; // d = 6
Dekrement Postdekrement Nachherige Wertverkleinerung.
int i = 5;
int e = i--; // e = 5
Prädekrement Vorherige Wertverkleinerung
int i = 5;
int f = --i; // f = 4


Ökonomie[Bearbeiten]

In der Ökonomie ist das Inkrement die festgelegte minimale Erhöhung des Gebots bei Auktionen.

Digitale Messtechnik[Bearbeiten]

In der digitalen Messtechnik, wo die zu messende Größe in diskrete Werte unterteilt wird, ist das Inkrement der Messquant, der kleinstmögliche Zuwachs.

Plotter[Bearbeiten]

Bei Plottern und anderen Zeichenmaschinen ist das Inkrement die feste kleinstmögliche Schrittweite des Zeichenkopfes. Eine Linie oder Kurve wird in gleich große Inkremente aufgeteilt.

Einzelnachweise[Bearbeiten]

  1. Regeln für die Verwendung von volatile, Angelika Langer, aufgerufen am 3. Januar 2010

Siehe auch[Bearbeiten]