Incrémentation

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Décrémentation)
Aller à : navigation, rechercher

En informatique, l'incrémentation est l'opération qui consiste à ajouter une valeur entière fixée à un compteur. L'opération inverse, la décrémentation, consiste à retirer une valeur entière au compteur.

Cette opération est très courante dans les programmes informatiques, notamment dans les boucles d'itération, si bien que la plupart[réf. souhaitée] des langages de programmation implémentent des opérateurs d'incrémentation et de décrémentation. Ainsi, dans un grand nombre de langages, la syntaxe suivante permet d'ajouter ou de retirer une unité à la variable x :

  • x++ (resp. x--) en forme préfixée, qui équivaut à x = x + 1 (resp. x = x - 1)[1];
  • ++x (resp. --x) en forme suffixée, qui équivaut à x = x + 1 (resp. x = x - 1)[1].

Si la valeur de x, après l'évaluation de l'instruction x++ ou ++x est toujours le successeur de x, il y a néanmoins une subtilité concernant la valeur de retour de l'instruction, selon la forme utilisée ; L'une est la valeur avant incrémentation, l'autre est la valeur après incrémentation :

  • y = x++ équivaut à y = x ; x = x + 1
  • y = ++x équivaut à x = 1 + x ; y = x

D'autres opérateurs permettent d'incrémenter ou de décrémenter par un nombre différent de 1. Par exemple, x += 3.5 ajoute 3.5 à la valeur de x.

Exemple[modifier | modifier le code]

Voici un exemple, écrit en Java, illustrant le fonctionnement des opérateurs d'incrémentation et de décrémentation

class Exemple {
    public static void main(String[] args){
        int i = 0;
        i++;
        System.out.println(i);    // "1"
        ++i;             
        System.out.println(i);    // "2"
        System.out.println(++i);  // "3"
        System.out.println(i++);  // "3"
        System.out.println(i);    // "4"
        System.out.println(i--);  // "4"
        System.out.println(--i);  // "2"
        System.out.println(i);    // "2"
        i -= 2;
        System.out.println(i);    // "0"
    }
}

Utilisation dans les noms de logiciels[modifier | modifier le code]

  • Le langage C++ tient son nom de l'opérateur d'incrémentation ++ présent dans le langage C dont il est issu.
  • De même, l'éditeur de texte Notepad++ se pose comme une version améliorée du bloc-notes (en anglais : Notepad) de Microsoft.

Notes et références[modifier | modifier le code]

  1. a et b « = » désigne ici l'opérateur d'affectation. Cet opérateur varie suivant les langages : on trouve également « := » ou encore « <- »