Page 1 sur 1
L'oppérateur &
Publié : ven. 31/oct./2014 14:40
par Lord Nelson
Salut,
b.w = %1100 & %1010, Le résutlat sera %1000
J'ai piger le principe mais est-il possible de faire l’opération inverse (J'en doute fort !) ?
En gros ici (C'est mon interprétation), ont fusionne les deux valeur.
Mais pour faire l'inverse ont peut pas si ?!
Comment retrouver 1100 Puis 1010 dans 1000 ?
Re: L'oppérateur &
Publié : ven. 31/oct./2014 14:44
par falsam
Re: L'oppérateur &
Publié : ven. 31/oct./2014 15:08
par Micoute
Bonjour Lord Nelson,
je vois que tu as des lacunes avec les tables de vérité.
L'opérateur & fait une comparaison binaire de bits entre une valeur ET une autre valeur.
Regarde dans le fichier d'aide de PB : Thèmes généraux ==> Variables, Types et Opérateurs
Re: L'oppérateur &
Publié : ven. 31/oct./2014 15:09
par Lord Nelson
Je le sais déjà, c'est bien pour ça que je poste ça

Re: L'oppérateur &
Publié : ven. 31/oct./2014 15:37
par G-Rom
Lord Nelson a écrit :Je le sais déjà, c'est bien pour ça que je poste ça

C'est que tu n'as pas compris.
Tu cherches a faire du "bit shifting" , c'est simple :
Code : Tout sélectionner
Macro quote
"
EndMacro
Macro Check(val)
If MaValeur & #val : Debug "#"+quote#val#quote : EndIf
EndMacro
#_A=1
#_B=2
#_C=4
#_D=8
#_E=16
#_F=32
MaValeur.l = #_A | #_B | #_F
Debug "MaValeur possède : "
Check(_A)
Check(_B)
Check(_C)
Check(_D)
Check(_E)
Check(_F)
Re: L'oppérateur &
Publié : ven. 31/oct./2014 16:02
par Lord Nelson
Oui j'ai pas compris
Ton code est bien et j’arrive pas à le déchiffrer
Je connais pas trop les macro, c'est puissant ça
Merci
Mais je sais pas si ça réponde à ma question
Ton truc ça marche pour une puissance de 2 *2:
1
2
4
8
16
32
64
128
256
Mais pas autres, par exemple de 0 à 255, si ?
Re: L'oppérateur &
Publié : ven. 31/oct./2014 18:25
par TazNormand
& signifie que l'on fait un ET logique, en clair il faut que les 2 valeurs soient vraies, si aucune ou une seule est vraie, alors le résultat est FAUX. Par vrai on entend en binaire égale à 1 :
1 & 1 vaut 1 = VRAI ==> les 2 conditions sont remplies
1 & 0 vaut 0 = FAUX ==> une seule des 2 conditions n'est remplie
0 & 0 vaut 0 = FAUX ==> aucune des 2 conditions n'est remplie
%1100 & %1010 = %1000 car (1&1=1; 1&0=0; 0&1=0; 0&0=0 ==> %1000)
Sincèrement, tu as de grosses lacunes en dév. de base, donc penche-toi d'abord sur les bases.
Re: L'oppérateur &
Publié : ven. 31/oct./2014 20:48
par Lord Nelson
Ok merci bien

Re: L'oppérateur &
Publié : sam. 01/nov./2014 10:44
par G-Rom
Code : Tout sélectionner
#A = %0001
#B = %0010
#C = %0100
#D = %1000
#ALL = #A | #B | #C | #D
#A_D = #A | #D
Debug "#ALL = %" + Bin(#ALL)
Debug "#A_D = %" + Bin(#A_D)
If Not #A_D & #C
Debug "#A_D n'a pas de #C"
EndIf