Forum Security-X > Cours

Manipulation sur les entiers

(1/1)

igor51:
Manipulation sur les entiers

Pour déclarer et affecter une valeur à une variable de type int, on fait comme ceci.


--- Code: ---int i;
i = 0;
--- Fin du code ---

Dans la plupart des langages de programmation, c'est l'élément de gauche qui reçoit la valeur de droite. Ainsi, on aura


--- Code: ---int i, j;
i = 0;
// i = j (1)
j = i;

--- Fin du code ---
(1) : Même si cette instruction est juste, elle n'en est pas moins fausse. En effet, on ne connaît pas la valeur de "j" à ce moment-là du programme (cf : post précédent).
Note : Mettre // devant une instruction la place en commentaire. On peut également utiliser le système "/* flot d'instructions à désactiver ou commentaires */" pour faire un commentaire sur plusieurs lignes.

---

Les opérations classiques sur les entiers sont : addition (+), soustraction (-), multiplication (*), division (/) et modulo (%) qui est le reste de la division entière.

Illustration :


--- Code: ---#include <stdio.h>

int main()
{
        int i = 0, j = 1, k = 2;

        printf ("Initial i = %i j = %i k = %i \n", i,  j , k);

        i = j + k;
        printf ("ADD : i = %i j = %i k = %i \n", i,  j , k);

        i = j - k;
        printf ("SOUS : i = %i j = %i k = %i \n", i,  j , k);

        j = 4;
        i = j * k;
        printf("MULT : i = %i j = %i k = %i \n", i, j , k);

        i = j / k;
        printf("DIV : i = %i j = %i k = %i \n", i, j , k);

        j = 5;
        i = j % k;
        printf("MOD : i = %i j = %i k = %i \n", i , j , k);

        return 1;
}

--- Fin du code ---

Sortie :


--- Citer ---igor51@lenovo-deb:~/test$ ./prog
Initial i = 0 j = 1 k = 2
ADD : i = 3 j = 1 k = 2
SOUS : i = -1 j = 1 k = 2
MULT : i = 8 j = 4 k = 2
DIV : i = 2 j = 4 k = 2
MOD : i = 1 j = 5 k = 2
--- Fin de citation ---

Comme on peut le voir, ce ne sont que des opérations sur les entiers. Il y a d'ailleurs plusieurs types d'entiers :

 - Les entiers normaux :  int.
 - Les entiers courts : short.
 - Les entiers long : long.

La différences entre ces types d'entiers résident dans leur occupation mémoire et par conséquent leur nombre maximum. Cela va surtout dépendre de l'architecture de compilation. De plus votre entier peut être signé ou non (mot clef unsigned) : dans l'idée, ça permet d'écrire des nombres négatifs (signé) ou de plus grands nombres positifs mais pas de nombres négatifs (non signé).

Un exemple :
http://www.commentcamarche.net/contents/cpp/cpptype.php3

Navigation

[0] Index des messages

Sortir du mode mobile