Dans mon programme (écrit en Python 3.4) j'ai une variable qui contient divers drapeaux, donc par exemple:
FLAG_ONE = 0b1
FLAG_TWO = 0b10
FLAG_THREE = 0b100
status = FLAG_ONE | FLAG_TWO | FLAG_THREE
Le choix d'un autre indicateur peut être facilement fait avec
status |= FLAG_FOUR
Mais que faire si j'ai explicitement souhaitez effacer un drapeau? Je le ferais
status &= ~FLAG_THREE
Cette approche est-elle sûre? Comme la taille d'un entier en Python n'est pas définie, ce qui s' status
et FLAG_THREE
diffèrent par la taille?
(status
doit être un champ de bits car j'ai besoin de cette valeur pour un matériel de protocole.)