Les opérateurs
Les opérateurs permet d'affecter une valeur à une variable, comparer des variables entre elles ou manipuler des bits, ...
Les opérateurs
| Opérateurs |
Descriptions |
| - |
moins |
| + |
plus |
| / |
division |
| * |
multiplication |
| % |
modulo (n'existe que sur des entiers) |
| = |
affectation |
| == |
comparaison |
| != |
différent |
| > |
plus grand |
| >= |
plus grand ou égal |
| < |
plus petit |
| <= |
plus petit ou égal |
| && |
ET |
| || |
OU |
| ! |
NON |
| sizeof |
donne la taille d'une variable |
Exemple :
#include <stdio.h>
void main()
{
int a, b;
printf("Entrez a : ");
scanf("%d",&a);
printf("Entrez b :");
scanf("%d",&b);
// si b est plus grand que a,
// le resultat sera 1 sinon 0
printf("Le plus grand est : %d\n", a < b);
}
Manipulation de bit
| Opérateurs |
Descriptions |
| & |
ET |
| | |
ou (inclusif) |
| ^ |
ou (exclusif) |
| << |
décalage à gauche |
| >> |
décalage à droite |
| ~ |
complément à 1 |
Exemple :
#include <stdio.h>
void main()
{
//0000 0000 0101 1010 (90)
short a = 0x005a;
//0011 1100 0101 1010 (15450)
short b = 0x3c5a;
//0000 0110 (6)
unsigned short c = 0X06, d = 0x06;
printf("%x \n", a & b);
printf("%x \n", a | b);
printf("%x \n", a ^ b);
printf("%x %x \n", ~a, ~b);
printf("%x \n", (c>>1) | (d<<1));
}
Explications des résultats
| Résultat |
Explications |
| 5a |
0000 0000 0101 1010
& 0011 1100 0101 1010
= 0000 0000 0101 1010
=> 0101 = 5
=> 1010 = 10 = A
=> 5a
|
| 3c5a |
0000 0000 0101 1010
| 0011 1100 0101 1010
= 0011 1100 0101 1010
=> 0011 = 3
=> 1100 = 12 = C
=> 0101 = 5
=> 1010 = 10 = A
=> 3C5A
|
| 3c00 |
0000 0000 0101 1010
^ 0011 1100 0101 1010
= 0011 1100 0000 0000
=> 0011 = 3
=> 1100 = 12 = C
=>0000 = 0
=> 3C00
|
| ffa5c3a5 |
0000 0000 0101 1010
=> ~ => 1111 1111 1010 0101 = FFA5
0011 1100 0101 1010
=> ~ => 1100 0011 1010 0101 = C3A5
|
| f |
0000 0110 => >> 1 => 0000 0011
0000 0110 => << 1 => 0000 1100
0000 0011
| 0000 1100
= 0000 1111
=> F
|