develdelphi
Messages postés97Date d'inscriptionmercredi 7 avril 2004StatutMembreDernière intervention20 avril 2009
-
4 août 2008 à 06:27
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 2014
-
4 août 2008 à 21:15
Bonjour,
J'ai un code pour microcontroleur,
et je ne comprend pas certaines lignes
et il s'agit d'opérations sur bits que voici:
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 4 août 2008 à 20:40
Salut,
((unsigned long)1) << t; signifie que la valeur 1 subit un décalage de t bits à gauche.
1= 00000000000000000000000000000001
Si t =5 par exemple on aura 00000000000000000000000000100000
DELAI | = ((unsigned long)1) << t; équivaut à:
DELAI = DELAI | ((unsigned long)1) << t;
Ici la nouvelle valeur de DELAI sera son ancienne valeur à laquelle on a appliqué un OU binaire avec 1 décalé à gauche de t bits.
Supposons que DELAI vaut 8 et t vaut 5:
DELAI =00000000000000000000000000001000
1 << 5= 00000000000000000000000000100000
En appliquant le OU binaire on aura:
DELAI = 00000000000000000000000000101000
En remplaçant | par & on appliquera un ET binaire et on aura:
DELAI= 00000000000000000000000000000000