Petite astuce pour inverser une valeur booléenne.

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Petite astuce pour inverser une valeur booléenne.

Message par Zorro »

Code : Tout sélectionner

flag = flag ! 1 
pourquoi t'embeter avec du binaire ?
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
microdevweb
Messages : 1798
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Petite astuce pour inverser une valeur booléenne.

Message par microdevweb »

Vieille habitude pour les microcontrôleurs en c je fait mes masques en hexa et la j'ai pas réfléchi. Mais tu as tout à fait raison :roll:

Voici donc la meilleur solution

Code : Tout sélectionner

; MEILLEUR SOLUTION
flag.b = #False
Debug flag ;0
flag = flag ! 1
Debug flag ;1
flag = flag ! 1
Debug flag ;0

;EXPLICATION 
; EN BINAIRE 
;FLAG = 00000000  si #FALSE
;FLAG = 00000001  si #TRUE
; 1   = 00000001
; ********************************
; TABLE DE VERITE XOR
; ********************************
; 0 0 -> 0
; 0 1 -> 1
; 1 0 -> 1
; 1 1 -> 0
; *********************************
; DONC
; *********************************
; 00000000 ! 00000001 -> retourne 1
; 00000001 ! 00000001 -> retourne 0
;
; Ce qui est exactement se que l'on voulait
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Répondre