Ver Mensaje Individual
  #2  
Antiguo 25-04-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
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.
Responder Con Cita