BocaDePez
⋮
Hola
estoy buscando una forma de, dada una variable, acceder a un determinado bit y cambiar su valor. He encontrado estructuras de datos como las mascaras de bits y los campos de bits, pero creo que no puedo aplicarlo a lo que quiero. He creado dos metodos para hacerlo, el que obtiene un determinado bit de una variable funciona bien... el que establece el valor no funciona.
bool getValorBinario(unsigned char& caracter, int posicion) { if(cadena & (1 << posicion)) return 1; else return 0; }
void setValorBinario(unsigned char& caracter, int posicion, bool valor){ if(valor) cadena | (unsigned char)(pow(2,posicion)); else cadena & (unsigned char)(pow(2,posicion)); }
¿me podéis decir que estoy haciendo mal y si hay alguna forma más "agradable" de hacer esto?
gracias