Inkrement und Dekrement

Inkrement und Dekrement

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. Typisches Beispiel ist ein Zähler, der die Anzahl von Personen in einem Raum festhält. Er wird um die hinzukommenden Personen inkrementiert und um die Fortgehenden dekrementiert. Häufige Anwendung finden die Begriffe in Mathematik und Informatik, wo sie die stufenweise Erhöhung/Verringerung eines numerischen Wertes bezeichnen.

Inhaltsverzeichnis

Informatik

Eingeführt wurden die Begriffe, da es sich beim Inkrement/Dekrement um eine elementare Operation handelt, die auf Maschinenebene durch einen einzelnen Befehl ausgeführt werden kann. Die Konstruktion von Schleifen basiert oft auf dem Inkrementieren/Dekrementieren einer Variablen. In einigen Fällen wird das Inkrement/Dekrement auch mit der Erhöhung/Verminderung um eins gleichgesetzt.

In Programmiersprachen

Die Operation Inkrement/Dekrement ändert in vielen imperativen Programmiersprachen den Wert einer Variablen auf den Nächsthöheren/Nächstniedrigeren.

Oft ist die Inkrement/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.

Beispiele

i und j bezeichnen hier Variablen.

Programmiersprache Operation Bemerkung
Assembler INCF 0x20,1 Erhöht den Wert an der Adresse 0x20 um 1
Brainfuck + Inkrementierung der aktuellen Zelle um 1
- Dekrementierung der aktuellen Zelle um 1
C, C++, C#, 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,j); i wird um j erhöht
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 und Ruby 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.

Prä- und Postdekrement

Wird eine Inkrement/Dekrement-Operation nicht als selbstständige Anweisung, sondern innerhalb eines anderen Ausdruckes verwendet, muss zwischen Prä- und Postdekrement unterschieden werden. Beim Prädekrement wird dabei dem übergeordneten Ausdruck der bereits verringerte, beim Postdekrement hingegen der ursprüngliche Wert übergeben. So berechnet zwar die folgende rekursive C-Funktion den n-ten Wert der Fibonacci-Folge, wird jedoch nur einmal fibonacci(n--) geschrieben, ergibt sich stattdessen eine Endlosschleife, weshalb man hier besser (n-1) bzw. (n-2) schreiben sollte:

int fibonacci(int n) {
  return (n<2) ? n : fibonacci(--n) + fibonacci(--n);
}

Ökonomie

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

Digitale Messtechnik

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

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

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

Siehe auch


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Dekrement — bezeichnet: Inkrement und Dekrement in Mathematik und Informatik das logarithmische Dekrement in der Schwingungslehre Diese Seite ist eine Begriffsklärung zur Unterscheidung mehrerer mit demselben Wort bezeichneter Begriff …   Deutsch Wikipedia

  • Inkrement — 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. Typisches Beispiel ist ein… …   Deutsch Wikipedia

  • Brainf*ck — Brainfuck ist eine sogenannte esoterische Programmiersprache, entworfen vom Schweizer Urban Müller um 1993. Die Sprache wird manchmal auch Brainf*ck, Brainf*** oder BF genannt. Brainfuck ist zwar für den ernsthaften Einsatz zu umständlich und… …   Deutsch Wikipedia

  • Brainfuck2D — Brainfuck ist eine sogenannte esoterische Programmiersprache, entworfen vom Schweizer Urban Müller um 1993. Die Sprache wird manchmal auch Brainf*ck, Brainf*** oder BF genannt. Brainfuck ist zwar für den ernsthaften Einsatz zu umständlich und… …   Deutsch Wikipedia

  • Brainfuck 2D — Brainfuck ist eine sogenannte esoterische Programmiersprache, entworfen vom Schweizer Urban Müller um 1993. Die Sprache wird manchmal auch Brainf*ck, Brainf*** oder BF genannt. Brainfuck ist zwar für den ernsthaften Einsatz zu umständlich und… …   Deutsch Wikipedia

  • 8085 — Intel 8085 Der Intel 8085 ist ein 1976 eingeführter 8 Bit Mikroprozessor von Intel. Als Nachfolger des Intel 8080 war er zu diesem binär kompatibel, integrierte jedoch Taktgenerator (8224) und Buscontroller (8228) und besaß eine leistungsfähigere …   Deutsch Wikipedia

  • Reference-Counting — Unter Referenzzählung (engl. reference counting) versteht man in der Programmierung eine Technik zur Verwaltung der Anzahl der Verweise (Referenzen oder Zeiger) auf ein bestimmtes Objekt. Das primäre Ziel ist dabei, zu erkennen, wann ein Objekt… …   Deutsch Wikipedia

  • Reference Counter — Unter Referenzzählung (engl. reference counting) versteht man in der Programmierung eine Technik zur Verwaltung der Anzahl der Verweise (Referenzen oder Zeiger) auf ein bestimmtes Objekt. Das primäre Ziel ist dabei, zu erkennen, wann ein Objekt… …   Deutsch Wikipedia

  • Reference counting — Unter Referenzzählung (engl. reference counting) versteht man in der Programmierung eine Technik zur Verwaltung der Anzahl der Verweise (Referenzen oder Zeiger) auf ein bestimmtes Objekt. Das primäre Ziel ist dabei, zu erkennen, wann ein Objekt… …   Deutsch Wikipedia

  • Referenzzähler — Unter Referenzzählung (engl. reference counting) versteht man in der Programmierung eine Technik zur Verwaltung der Anzahl der Verweise (Referenzen oder Zeiger) auf ein bestimmtes Objekt. Das primäre Ziel ist dabei, zu erkennen, wann ein Objekt… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”