Desplazamiento de registro a nivel de bit

0

Ahora estoy aprendiendo programación avr usando c. Tengo un problema con el cambio de bits. Supongamos que tengo un registro de 8 bits llamado jcb que contiene 01110011. Quiero obtener los 4 bits superiores en la variable vh. Entonces, hago vh = (jcb > > 4). Ahora el valor de vh debe ser 0111. Pero si ahora hago vl = jcb, ¿cuál es el valor binario que contiene en vl en 8 bits?

    
pregunta Arkojit Das

1 respuesta

4

01110011 nuevamente, ya que no hiciste nada para cambiar jcb, como jcb = jcb > > 4;

Si quieres los 4 bits inferiores de jcb en vl, enmascara los 4 bits superiores.

vl = 0x0F & jcb; // superior 4 bits = 0, inferior 4 bits = 0011

    
respondido por el CrossRoads

Lea otras preguntas en las etiquetas