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