Ou logique

Signaler
Messages postés
14
Date d'inscription
dimanche 8 février 2004
Statut
Membre
Dernière intervention
23 mars 2007
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
Bonsoir,

juste une petite question concernant un ou logique :

voici mon programme :

Code:

short res=0;
res=res|('7'-'0');
res=res | (res<<9);

Je prends un short sur 16 bits donc.
après exécution de la ligne 2 mon res vaut
0000 0000 0000 0111 (a)
(res<<9) equivaut à 0000 1110 0000 0111 (b)
maintenant (a) | (b) devrait me faire 0000 1110 0000 0000
mais ce n'est pas le cas.

En effet il renvoie 0000 1110 0000 0111

là je dis .... help ... !!! !

Non sérieux qq1 voit le problème ?

2 réponses

Messages postés
69
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
23 avril 2009

Salut,

C'est normal car 1|1 = 1

Ton OU n'est pas un OU exclusif !!!
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
le XOR c'est a^b