Opétrateur & lanage C

Fermé
slimIBM - 2 mars 2010 à 13:19
 le père - 2 mars 2010 à 13:26
Bonjour,
si je fait

if(a&b)
instrcution

donc je dois convertir a et b en binaire et aprés appliquer le & mais est ce que

if(a&b) retourne 1 quand juste au moin (un bit de a) & (un bit de b ) donne 1 ou il faut que
(tous les bit de a )& (tous les bits de b) retourne 1 ?

merci

1 réponse

Bonjour

Pour que "instruction" soit exécutée, il faut que la condition soit vraie.
En C, un entier est vrai s'il est différent de 0
Il faut donc que a & b soit différent de 0
Comme & représente le et bit à bit, il faut donc qu'il y a au moins un bit de a qui soit à 1 et qui "tombe en face" d'un bit de b à 1
1