[C con Clase] Leer ciertos bits de una variable WORD
Zaka Elab
shanatorio en gmail.com
Vie Oct 3 17:54:59 CEST 2008
Según tu explicación tenemos esto:
8 4 4
--------- ---- ----
0000 0001 0010 0011
Supongo que el problema está en que no puedes acceder a cada
elemento binario y tienes que hacerlo operando. Yo lo solucionaría
de la siguiente manera.
(La separación en grupos de cuatro bits es por claridad, el número es
de 16 bits)
1- XXX - (0000 0001 0000 0000)= XXX - 2^8 = XXX - 256:
0000 0001 0010 0011
-0000 0001 0000 0000
--------------------
0000 0000 0010 0011 (La llamaremos XXX2)
2- Hay una propiedad de los números binarios que es la siguiente:
Si desplazamos los bits a la derecha introduciendo 0 por la izquierda,
estamos dividiendo por 2, tantas veces como desplazamientos hayamos hecho.
XXX2/4 = XXX2 desplazado 4 veces a la derecha:
XXX2 XXX2/4
------------------- -------------------
0000 0000 0010 0011 ---> 0000 0000 0000 0010 (La llamaremos XXX3)
Ahora ya tenemos que XXX3 = 2.
Espero que sea esta la respuesta que buscabas
Zaka.
Más información sobre la lista de distribución Cconclase