Je lis des opérateurs bit à bit aujourd'hui et ils me semblent plutôt pratiques. J'ai aussi remarqué qu'Apple les utilise aussi, par exemple avec UIViewAutoresizing
.Quelques questions sur les opérateurs bit à bit
Dans mon application, je dois garder une trace des sept jours de la semaine. Chaque jour peut être activé ou désactivé. J'ai déjà eu sept BOOL
« s, mais maintenant je suis en train d'utiliser un seul entier pour cela:
enum {
DaysMonday = 1 << 0,
DaysTuesday = 1 << 1,
DaysWednesday = 1 << 2,
DaysThursday = 1 << 3,
DaysFriday = 1 << 4,
DaysSaturday = 1 << 5,
DaysSunday = 1 << 6
};
typedef NSUInteger Days;
Ma question est, comment puis-je activer/désactiver ces valeurs maintenant? Je sais que je peux vérifier une variable days
pour un jour comme celui-ci:
if (days & DaysThursday) {
// thursday enabled
}
Mais comment puis-je ..
- jeudi activer?
- Désactiver jeudi?
- basculer jeudi?
- Autoriser tous?
- Désactiver tout?
Merci.
Je vais juste laisser [ce] (http://graphics.stanford.edu/~seander/bithacks.html) ici. – outis
Harkens revient aux jours où nous avons passé beaucoup de temps à voir combien nous pourrions serrer les données. Opérateurs bit à bit pour les situations on/off comme ça, en utilisant deux bits pour les choses avec 3 ou 4 états, etc. Je reste toujours penché de cette façon mais je suis beaucoup plus détendu maintenant que l'espace et la bande passante ont augmenté de façon spectaculaire. –