Necesito acceder a un bit particular desde una variable uint8
, y almacenar este valor de bit a otra variable uint8
. En este momento estoy haciendo lo siguiente para lograr esto:
bit_value = (uint8_variable & (1 << BIT_POSITION)) >> BIT_POSITION;
¿Es este el método correcto? Si es correcto, ¿hay una manera más sencilla de lograr esto?
Actualizar: Una pregunta más. Necesito establecer un bit particular en un uint8 a un valor X (no cambiar el bit). por ejemplo: en 1100 0101, necesito configurar el bit 2 en X, sin modificar los otros bits, para obtener 1100 0X01. He estado atormentando mi cerebro, pero no puedo aterrizar en una solución directa.