multiplication entier par bool
multiplication entier par bool
Bonjour
je veux faire l operation suivante y=val1*n1+val2*n2 avec n1 et n2 de type BOOL
Comment je peux multilplier un entier avec booleen. J utilise rslogix5000 (strutured text)
Merci
je veux faire l operation suivante y=val1*n1+val2*n2 avec n1 et n2 de type BOOL
Comment je peux multilplier un entier avec booleen. J utilise rslogix5000 (strutured text)
Merci
Re: multiplication entier par bool
Pas possible à mon avis
Il faudrait passer par une variable intermédiaire (Entier)
Il faudrait passer par une variable intermédiaire (Entier)
Re: multiplication entier par bool
Avec un bout de code de ce style par exemple :
IF n1 THEN
n1temp :=1;
ELSE
n1temp :=0;
END_IF;
//SIMILAIRE POUR n2...
y=val1*n1temp +val2*n2temp
IF n1 THEN
n1temp :=1;
ELSE
n1temp :=0;
END_IF;
//SIMILAIRE POUR n2...
y=val1*n1temp +val2*n2temp
Re: multiplication entier par bool
Bonjour,
Etc...
Code : Tout sélectionner
y:=0;
IF n1 THEN
y := y + val1;
END_IF;
IF n2 THEN
y := y + val2;
END_IF;
Re: multiplication entier par bool
Bonjour,
il ya aussi la solution suivante:
il ya aussi la solution suivante:
Code : Tout sélectionner
IF n1 AND n2 THEN
y := val1+val2;
ELSIF n1 THEN
y := val1;
ELSIF n2 THEN
y := val2;
ELSE
y := 0;
END_IF
<< La vie d'un homme passe par trois phases : apprentissage, apprentissage et apprentissage. >>
Et j'ai même pas fini la première phase
- itasoft
- Mi homme - Mi automate
- Messages : 7035
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: multiplication entier par bool
slts,
par équation booléenne:
n1_INT.0:=n1;
n2_INT.0:=n2;
------------
ça veut dire que si n1 et n2 sont false y=0 c'est bien ça que tu veux ?
par équation booléenne:
n1_INT.0:=n1;
n2_INT.0:=n2;
------------
ça veut dire que si n1 et n2 sont false y=0 c'est bien ça que tu veux ?
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: multiplication entier par bool
Tests :
Si n1 = 0 & n2 =0 : y = 0
Si n1 = 0 & n2 =1 : y = val2
Si n1 = 1 & n2 =0 : y = val1
Si n1 = 1 & n2 =1 : y = val1 + val2
Si quelquefois tu te sens petit, inutile, démoralisé ou dépressif, n'oublies jamais que tu as été un jour le plus rapide et le meilleur spermatozoïde de ta bande ...