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

David fire ddfire en gmail.com
Sab Oct 4 03:10:43 CEST 2008


la forma correcta de hacer lo que vos queres es la siguiente:

struct xxx {
unsigned char valor1; // son 8 bits....
unsigned char valor2 : 4; //le digo que tiene que ocupar solo 4 bits
unsigned char valor3 : 4; //le digo que tiene que ocupar solo 4 bits
}

union {
struct xxx bits;
word var;
} nombre;



como lo usas... si queres referirte a la variable word seria nombre.word=10;
o x = nombre.word;

si queres usar alguno de los bits seria nombre.bits.valor1;

David





2008/10/3 Juan <jmicanovelles en gmail.com>

> Yo lo hago así:
> #include <iostream>
> using namespace std;
> int main()
> {
> unsigned short word=12801;
> cout<<"Formato 4 4 8"<<endl;
> cout<<"word=12801 = 0011 0010 0000001"<<endl;
> word=word<<4;
> word=word>>12;
> cout<<word<<endl;
> word=291;
> cout<<"Formato 8 4 4"<<endl;
> cout<<"word=291 = 0000001 0010 0011"<<endl;
> word=word<<8;
> word=word>>12;
> cout<<word<<endl;
> }
>
> Un saludo.
> juan
>
>
>
>
>
> El pasado 2008-10-03 14:52:05, Juan Pablo San Martín escribió:
>
> JPSM> Estimados:
> JPSM>     Tengo una variable word con nombre XXX, la cual, dentro de los 16
> JPSM> bits que tiene, tiene información con el siguiente esquema:
> JPSM> BITS 0 al 7: valor 1
> JPSM> BITS 8 al 11: valor 2
> JPSM> BITS 12 al 15: valor 3
> JPSM>     La cosa es que necesito obtener el valor 2, ¿alguien me puede dar
> JPSM> una mano?
> JPSM> Gracias de antemano,
> JPSM> JPS
> JPSM> _______________________________________________
> JPSM> Lista de correo Cconclase Cconclase en listas.conclase.net
> JPSM>
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> JPSM> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> _______________________________________________
> 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
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20081003/de3ea69f/attachment-0001.html>


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