Disculpas por la naturaleza bastante vaga de esta pregunta, nunca me han enseñado formalmente la programación y Google es bastante inútil para un tipo de autoayuda como yo en este caso, ya que las palabras clave son bastante ambiguas.¿Existe un nombre para la técnica de usar números de base 2 para codificar una lista de opciones únicas?
Estoy escribiendo un par de funciones que codifican y decodifican una lista de opciones en una larga por lo que fácilmente se pueden pasar alrededor de la aplicación, se sabe este tipo de cosas:
1 - Apple
2 - Naranja
4 - banana
8 - Plum
etc.En este caso el número 11 representaría Manzana, Naranja & Plum.
Lo tengo funcionando pero veo que esto se usa todo el tiempo, asuma que hay un nombre común para la técnica, y sin duda todo tipo de mejores prácticas y algoritmos inteligentes que están actualmente fuera de mi alcance
Edit: Gracias a todos, sabía que la respuesta vendría rápidamente :)
@Martin - Sí ... ya lo cambió antes de ver el comentario. Buena captura sin embargo. –
usa parens alrededor del bit y –
¿No tienes la precedencia incorrecta allí? (9 y naranja == naranja) se evalúa como VERDADERO, donde debería ser falso. Debería ser ((9 & Orange) == Naranja) que evalúa como FALSO –