Ho letto di operatori bit a bit oggi e mi sembrano piuttosto utili. Ho anche notato che Apple li usa anche, ad esempio con UIViewAutoresizing
.Alcune domande sugli operatori bit a bit
Nella mia app ho bisogno di tenere traccia dei sette giorni della settimana. Ogni giorno può essere abilitato o disabilitato. Ho usato per avere sette BOOL
's, ma ora sto cercando di utilizzare un singolo intero per questo:
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;
La mia domanda è, come posso attivare/disattivare quei valori oggi? So che posso controllare una variabile days
per un giorno specifico come questo:
if (days & DaysThursday) {
// thursday enabled
}
Ma come faccio ..
- effettuato giovedi?
- disabilitare giovedì?
- giovedì?
- abilitare tutto?
- disabilitare tutto?
Grazie.
mi limiterò a lasciare [questo] (http://graphics.stanford.edu/~seander/bithacks.html) qui. – outis
Harkens torna ai giorni in cui passavamo molto tempo a vedere quanto potevamo spremere i dati. Operatori bit a bit per situazioni on/off come questa, usando due bit per cose con 3 o 4 stati, ecc. Ancora mi chino in quel modo a volte ma sono molto più rilassato ora che lo spazio e la larghezza di banda sono aumentati così drammaticamente. –