Pues preguntar por un bit es sencillo. Sólo tienes que hacer un and bit a bit
Testigo 0x0010 (0000 0000 0001 0000)
Variable 0x00FF (0000 0000 1111 1111)
bool TieneBit = (testgo == Variable & testigo); // si true es que tiene el bit
Cambiar un bit: operación or bit a bit
Testigo 0x0010 (0000 0000 0001 0000)
Variable 0x00EF (0000 0000 1110 1111)
Word Resultado = Testigo | Variable // 0x00FF
Saludos.
EDITO:
Me faltó la eliminación de un bit:
Testigo 0x0010 (0000 0000 0001 0000)
Variable 0x00FF (0000 0000 1111 1111)
Word Resultado = Variable & ~Testigo // Resultado 0x00EF (0000 0000 1110 1111)
Si lo que quieres es utilizar Bytes (menores de 256) pues es igual.
Otra posibilidad son los campos de bits, aunque yo prefiero los sitemas que te he comentado.
Saludos
Última edición por escafandra fecha: 25-04-2008 a las 11:00:47.
|