[C con Clase] Leer ciertos bits de una variable WORD

Rolando Kindelan Nuñez rkindelan en uci.cu
Vie Oct 3 17:49:35 CEST 2008


Para eso existen los operadores a nivel de bits

Haces un corrimiento a la izquierda de 8 bits o lo que es lo mismo haces la división entera entre 256

Word >>= 8 

XXXXXXXX XXXXXXXX YYYYYYYY XXXXXXXX / 256 = 00000000 XXXXXXXX XXXXXXXX YYYYYYYY

Luego haces un and con el numero que tiene 255 

Word & (1<<8 - 1)

00000000 XXXXXXXX XXXXXXXX YYYYYYYY & 00000000 00000000 00000000 11111111 = YYYYYYYY

Que es el resultado que deseas.
Espero haber sido de ayuda.




-----Mensaje original-----
De: cconclase-bounces en listas.conclase.net [mailto:cconclase-bounces en listas.conclase.net] En nombre de Juan Pablo San Martín
Enviado el: viernes, 03 de octubre de 2008 10:52
Para: Lista de correo sobre C y C++
Asunto: [C con Clase] Leer ciertos bits de una variable WORD

Estimados:

    Tengo una variable word con nombre XXX, la cual, dentro de los 16 
bits que tiene, tiene información con el siguiente esquema:

BITS 0 al 7: valor 1
BITS 8 al 11: valor 2
BITS 12 al 15: valor 3

    La cosa es que necesito obtener el valor 2, ¿alguien me puede dar 
una mano?

Gracias de antemano,

JPS

_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ




Más información sobre la lista de distribución Cconclase