Page 1 sur 1

[TUTO]-AND, OR, XOR et recherche Pair/Impair

Publié : mar. 28/juin/2011 13:32
par flaith
Juste un petit rappel sur la facon dont on peut faire les calculs sur les bits

pour AND:

Code : Tout sélectionner

Il faut réagir en tant que multiplication
C'est à dire que 0 AND 1 donne 0 car :

0 x 0 = 0
1 x 0 = 0
0 x 1 = 0
1 x 1 = 1
pour OR:

Code : Tout sélectionner

Ici on va faire une addition, mais attention
1 OR 1 = 1, on travaille sur des bits (0 ou 1) donc il y aura
toujours un résultat égal à 0 ou 1 :

0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 1 (et non, pas 2 ;)
pour XOR :

Code : Tout sélectionner

C'est une soustraction qui est appliquée:

0 - 0 = 0
0 - 1 = 1
1 - 0 = 1
1 - 1 = 0
Et concernant la recherche d'un nombre pair ou impair, on va aussi utilisé le AND (ici le '&'):

Code : Tout sélectionner

For nombre = 0 To 18
  If nombre & 1   ;verification du bit 0
    ;Nombre impair
    Debug Str(nombre) + " est impair"
  Else
    ;Nombre pair
    Debug Str(nombre) + " est pair"
  EndIf
Next

Re: [TUTO]-AND, OR, XOR et recherche Pair/Impair

Publié : ven. 12/août/2011 20:37
par bombseb
Salut flaith,

Pour moi le AND je le vois comme deux interrupteur en série (il faut que les deux soient actionnés pour allumer l'ampoule resultat = 1)
pour le OR je le vois comme deux interrupteur en parallèle (il faut que l'un des deux ou les deux soit activé pour que l'ampoule soit allumée resultat = 1)
pour le XOR, il faut que un et un seul des deux bits soit à 1 pour que le resultat soit à 1

pas mal pour ton test du nombre impair, j'avais jamais pensé à tester le 1er bit

Edit : un truc aussi qui peut être pratique :

not (A and B) = not A or not B
not (A or B) = not A and not B

Re: [TUTO]-AND, OR, XOR et recherche Pair/Impair

Publié : ven. 12/août/2011 20:45
par flaith
Salut Bomseb et merci :D

moi aussi je le vois comme cela, le but ici est juste d'avoir un moyen "mnémotechnique" :wink:
Et merci d'apporter une autre approche :mrgreen:

Re: [TUTO]-AND, OR, XOR et recherche Pair/Impair

Publié : mar. 16/août/2011 13:06
par dayvid
Ouais cool merci pour le truc du pair et impair :D