He leído acerca de los operadores bit a bit hoy y me parecen bastante útiles. También noté que Apple los usa también, por ejemplo, con UIViewAutoresizing
.Algunas preguntas sobre los operadores bit a bit
En mi aplicación necesito hacer un seguimiento de los siete días de la semana. Todos los días se pueden habilitar o deshabilitar. Solía tener siete BOOL
's, pero ahora estoy tratando de usar un solo número entero de esto:
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;
Mi pregunta es, ¿cómo puedo activar/desactivar aquellos valores que ahora? Sé que puedo comprobar una variable days
para un día específico de esta manera:
if (days & DaysThursday) {
// thursday enabled
}
Pero ¿cómo puedo ..
- activo el Jueves?
- desactivar Jueves?
- toggle jueves?
- habilitar todo?
- ¿desactivarlo todo?
Gracias.
Voy a dejar [esto] (http://graphics.stanford.edu/~seander/bithacks.html) aquí. – outis
Recuerda los días en que pasamos mucho tiempo viendo cuánto podíamos exprimir datos. Operadores bit a bit para situaciones de encendido/apagado como este, usando dos bits para cosas con 3 o 4 estados, etc. Todavía me inclino de esa manera a veces pero estoy mucho más relajado sobre eso ahora que el espacio y el ancho de banda han aumentado tan dramáticamente. –