opérations boolennes... question de syntaxe

hapto

New Member
Bonjour,

La syntaxe suivante est-elle correcte?
Code:
do while [COLOR="#FF0000"](b1 & b2)=0
[/COLOR]    ; code
loop
Si non, cette autre syntaxe ci-dessous est-elle correcte? Et n'y a t il pas une autre méthode que l'affectation préalable à une variable du résultat de l'opération booléenne?
Code:
[COLOR="#EE82EE"]b3 = b1 & b2[/COLOR]
do while [COLOR="#EE82EE"]b3=0[/COLOR]
    ; code
loop
D'avance merci

P.S. 1- Ci-dessus j'aurais pu utiliser bit1, bit2 et bit3 à la place respective de b1, b2 et b3.
2- Je n'ai pas encore reçu mon picaxe pour tester
 
Last edited:

PieM

Senior Member
Bonjour,
la première n'est pas possible.

faire
do while varA = 0 and varB = 0
.....
loop

si ce sont des booléens, le mieux est d'utiliser des bits plutôt qu'un octet.
par exemple si vous utilisez bit7 et bit6 le test revient à do while b0 < 64 ....
 

hapto

New Member
faire
do while varA = 0 and varB = 0
.....
loop
Non malheureusement car A & B = 0 n'est pas équivalent à A=0 & B=0

A & B =0 serait équivalent à (A=0 & b=0) OU (A=0 & B=1) OU (A=1 & B=0)

ce qui effectivement constitue une syntaxe possible, bien qu'un peu longue ;-)

si ce sont des booléens, le mieux est d'utiliser des bits plutôt qu'un octet.
par exemple si vous utilisez bit7 et bit6 le test revient à do while b0 < 64 ....
merci pour cette suggestion
 
Last edited:

PieM

Senior Member
Non malheureusement car A & B = 0 n'est pas équivalent à A=0 & B=0

A & B =0 serait équivalent à (A=0 & b=0) OU (A=0 & B=1) OU (A=1 & B=0)

ce qui effectivement constitue une syntaxe possible, bien qu'un peu longue ;-)

merci pour cette suggestion
Exact, mais l'équivalence est do while A=0 or B=0
 
Top