En C e incrustado, con frecuencia se usan constantes enumeradas en las que cada valor es una máscara de bits con exactamente un conjunto de 1 bit. (por ejemplo, 0x0001, 0x0002, 0x0004, etc.) ¿Hay un nombre estándar para este tipo de máscara de bits? Los he visto como banderas, pero más de paso que como una definición estándar. Sé que suena esnob, ¿pero las "banderas" en realidad no parecen lo suficientemente técnicas? ¿Alguien más tiene un buen nombre para esto? No me puedo imaginar que nadie haya tenido una.Nombre para una máscara de bits con el conjunto de 1 bit
Respuesta
"Banderas" es el término aceptado. "Pasar una bandera", "establecer esta bandera", etc.
La entrada de Wikipedia para Flags dice esto: indicador se refiere a uno * o más * bits que se utilizan para almacenar un valor binario * o código *. Es exactamente por eso que quiero algo menos genérico. – ktrimbach
No siempre puedes obtener lo que quieres. "Bandera" es el término estándar para esta característica. –
@ktrimbach, la entrada de wikipedia para la palabra bandera indica que el nombre implica una asignación directa de un solo bit a una sola bandera. Y nunca escuché el término usado para indicar múltiples bits. – MSN
.NET Framework tiene un atributo Flags
que se utiliza para indicar exactamente el comportamiento que está describiendo.
No se limitan a crear nombres para lo que quieran, por lo que una bandera es probablemente el término más aceptable.
Esta es una buena referencia. .NET define un FlagAttribute para las enumeraciones y MSDN lo describe así. No estoy seguro de lo bueno que es, aparte de permitir que ToString() concatete varias enumeraciones, pero es ilustrativo. – ktrimbach
También he visto "indicadores de bits".
Encontré un artículo del Dr. Dobbs que menciona "Enumeraciones de marcas de bits". Eso es un poco ('scuse pun) más cercano a lo que estoy pensando. http://www.drdobbs.com/184403893 – ktrimbach
"Bandera" se utiliza para esto desde hace décadas y está bien. Mi viejo C64 ya tenía una bandera de cero, lleve la bandera, etc. Consulte aquí para más información:
http://en.wikipedia.org/wiki/Flag_(computing%29
http://en.wikipedia.org/wiki/Status_register
no sé exactamente cuando este término fue acuñado y por quién.
El enlace de Wikipedia habla específicamente de registros de estado y palabras de marca. Estos son indicadores de bits de hardware. Probablemente sea de donde vino, pero estoy buscando algo más. – ktrimbach
@ktrimbach: El primer enlace (he editado mi publicación para que ahora funcione) también dice: 'En otros casos, los valores binarios pueden representar uno o más atributos en un campo de bit, a menudo relacionados con habilidades o permisos, como "se puede escribir en" o "se puede eliminar". – Secure
En matemáticas, un conjunto único es un conjunto con exactamente un elemento, por lo que podría llamarse un conjunto de bits simple o una máscara de bits simple, pero no he visto esto en la práctica.
- 1. ¿La forma más rápida de calcular una máscara de bits X-bit?
- 2. ¿Puedo crear una máscara de bits de 1 a 64 bits sin condicional en Java?
- 3. Algoritmo para generar la máscara de bits
- 4. pregunta de máscara de bits?
- 5. 1 bit de mapa de bits (monocromo) en php
- 6. Operador bit a bit para obtener bytes de 32 bits
- 7. ¿Cómo se desactiva un bit específico en una máscara de bits?
- 8. Servidor SQL: varbinary int para almacenar una máscara de bits?
- 9. Cómo crear una máscara con los bits menos significativos configurados en 1 en C
- 10. crear una máscara de bit de permiso en Java
- 11. Cómo genrate una máscara de bits en blanco y negro de un mapa de bits de 32 bits
- 12. PHP debug_backtrace uso de máscara de bits
- 13. Búsqueda por máscara de bits en ActiveRecord
- 14. operaciones bit a bit MySQL y filtrar
- 15. Confusión enum de Java con la creación de una máscara de bits y comprobación de permisos
- 16. operaciones bit a bit de 48 bits en Javascript?
- 17. ¿Hay alguna diferencia entre los tipos de datos enteros y bits (n) para una máscara de bits?
- 18. explicar el comportamiento de los campos de bits de 1 bit
- 19. cómo convertir un int a una máscara de bits?
- 20. desarmar el conjunto de bits más a la derecha
- 21. Convenciones de nomenclatura de parámetros de máscara de bits?
- 22. ¿Cuál es el mejor formato visible en la web para guardar un TIF con una profundidad de 1 bit?
- 23. manipulación de bits en C# usando una máscara
- 24. NCHAR (1) vs BIT
- 25. ¿Cómo implementar una máscara de bits en php?
- 26. ¿Cómo puedo configurar todos los bits en '1' en un número binario de un tamaño desconocido?
- 27. Agregar una máscara con CALayers
- 28. ¿Es útil agregar una máscara de bits a todas las tablas en una base de datos?
- 29. Invertir 1 bit en C#
- 30. Android: cargando un mapa de bits de máscara alfa
La bandera me parece lo suficientemente razonable: "un poder de dos" realmente no explica mucho, la bandera es al menos mejor que esto. –
@Will A - En realidad, ese es mi punto principal. Si usas poderes de dos, tus "banderas" son completamente independientes. Puede O, Y NO, y simplemente cambiar/verificar la o las dos que le interesan sin cambiar ninguna otra. – ktrimbach