Page 1 sur 1

Comment inverser une valeur 1/0

MessagePosté: Mer 8 Juil 2009 16:59
de guda
Bonjour,

J'ai un switch qui est sur 1 lorsqu'il correspond à OFF, et à 0 lorsqu'il est ON.

J'aimerai bien faire un truc comme ça :
&mon_var = inverse_position_switch

En gros si mon switch = 1, ma variable = 0 et inversement.

Pour l'instant j'utilise un IF mais je pense qu'on peut simplifier

Avez-vous une idée ?

Re: Comment inverser une valeur 1/0

MessagePosté: Mer 8 Juil 2009 18:07
de stevelep
Un CHANGEBIT sur le bit 1 te switch un 0 en 1 et inversément

BOB

Re: Comment inverser une valeur 1/0

MessagePosté: Mer 8 Juil 2009 18:23
de ganlhi
Sinon :

Code: Tout sélectionner
&mon_var = 1 - &position_switch


Ça marche très bien ! :)

Re: Comment inverser une valeur 1/0

MessagePosté: Mer 8 Juil 2009 20:47
de bataillou31
Effectivement les deux fonctionnent aussi bien. Maintenant il faudrait savoir lequel est plus rapide a executer en code SIOC entre un CHANGEBIT ou &mon_var = 1 - &position_switch gratgrat

Alain

Re: Comment inverser une valeur 1/0

MessagePosté: Jeu 9 Juil 2009 08:10
de ganlhi
Là c'est une question de micro-optimisation ^^
Je ne suis pas sûr que ça fasse une différence pour l'utilisation qu'on en a...

Re: Comment inverser une valeur 1/0

MessagePosté: Jeu 9 Juil 2009 08:56
de guda
Merci, pour ma part la solution du changebit me semble meilleure car moins "tordu". On l'a comprend rapidement en la lisant

Bon comme je viens du monde du développement, tout m'est facile a lire, même a+=1 blemeblanc

Merci pour votre aide