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

David fire ddfire en gmail.com
Dom Oct 5 18:26:26 CEST 2008


no tengo ni idea de que estas hablando
ni que es ese codigo ahi abajo yo no dije nada de eso....
David

El 5 de octubre de 2008 4:54, Juan <jmicanovelles en gmail.com> escribió:

> David: No lo entiendes...porqué es bueno entender las cosas, tal vez no sea
> la mejor manera de hacerlas, pero se puede.
> Tu decias como introducias datos:
> #include <iostream>
> using namespace std;
> int main()
> {
> //FORMATO 8-4-4
> unsigned short XXX=61605, XX1, XX2, XX3;
> cout<<"XXX=12801 = 11110000 1010  0101"<<endl;
> XX1=XXX/256; cout<<"Bloque 8 bits: "<<XX1<<endl;
> XX2=(XXX-XX1*256)/16; cout<<"Bloque central de 4 bits: "<<XX2<<endl;
> XX3=XXX-XX1*256-XX2*16;cout<<"Bloque de menos valor de 4 bits:
> "<<XX3<<endl;
> //Poner valores, a la inversa de como lo has sacado
> XX1=97; XX2=7; XX3=5;
> XXX=XX1*256 + XX2*16 + XX3;
> cout<<"XXX=01100001 0111 0101 "<<XXX<<endl;
> return 0;
> }
>
> Buf! muchos mensajes para una respuesta que ya ha sido contestada...
> Un saludo.
> Juan
>
>
>
>
>
>
> El pasado 2008-10-04 15:32:28, David escribió:
>
> D> no entiendo lo de viene definida de otro sistema....
> D> cuando te llega la metes en la varibale que creaste del tipo union y
> despues
> D> la suas como se te da la gana.
> D> cuando terminas haces variable.var y tenes el word otra vez....
> D> aca esta la diferencia en hacer las cosas bien y que funcionen.
> D> se llama calidad esa diferencia
> D> David
> D> El 4 de octubre de 2008 9:19, Juan Pablo San Martín
> D> <coyotedemon en gmail.com>escribió:
> D> > Se agradecen las respuestas, pero la variable está definida en otro
> D> > sistema, y ya viene así. De todas maneras, con el código de Zaka Elab
> me
> D> > funcionó bastante bien.
> D> >
> D> > De todas maneras, muchas gracias.
> D> >
> D> > JPS
> D> >
> D> > Juan escribió:
> D> >
> D> >  Hola David, sabes que te digo, te he enviado otro mensaje, pero
> quiero
> D> >> rectificarlo, tienes razón, usar una union con una estructura de bits
> es lo
> D> >> mejor, porque aunque el WORD nos venga como parámetro en una función,
> o bien
> D> >> queramos pasar un WORD, nada nos impide usar la unión.
> D> >> Así que mil perdones.
> D> >> Juan
> D> >>
> D> >>
> D> >>
> D> >>
> D> >>
> D> >>
> D> >>
> D> >>
> D> >> El pasado 2008-10-04 01:10:43, David escribió:
> D> >>  D> la forma correcta de hacer lo que vos queres es la siguiente:
> D> >> D> struct xxx {
> D> >> D> unsigned char valor1; // son 8 bits....
> D> >> D> unsigned char valor2 : 4; //le digo que tiene que ocupar solo 4
> bits
> D> >> D> unsigned char valor3 : 4; //le digo que tiene que ocupar solo 4
> bits
> D> >> D> }
> D> >> D> union {
> D> >> D> struct xxx bits;
> D> >> D> word var;
> D> >> D> } nombre;
> D> >> D> como lo usas... si queres referirte a la variable word seria
> D> >> nombre.word=10;
> D> >> D> o x = nombre.word;
> D> >> D> si queres usar alguno de los bits seria nombre.bits.valor1;
> D> >> D> David
> D> >> D> 2008/10/3 Juan <jmicanovelles en gmail.com>
> D> >> D> > Yo lo hago así:
> D> >> D> > #include <iostream>
> D> >> D> > using namespace std;
> D> >> D> > int main()
> D> >> D> > {
> D> >> D> > unsigned short word=12801;
> D> >> D> > cout<<"Formato 4 4 8"<<endl;
> D> >> D> > cout<<"word=12801 = 0011 0010 0000001"<<endl;
> D> >> D> > word=word<<4;
> D> >> D> > word=word>>12;
> D> >> D> > cout<<word<<endl;
> D> >> D> > word=291;
> D> >> D> > cout<<"Formato 8 4 4"<<endl;
> D> >> D> > cout<<"word=291 = 0000001 0010 0011"<<endl;
> D> >> D> > word=word<<8;
> D> >> D> > word=word>>12;
> D> >> D> > cout<<word<<endl;
> D> >> D> > }
> D> >> D> >
> D> >> D> > Un saludo.
> D> >> D> > juan
> D> >> D> >
> D> >> D> >
> D> >> D> >
> D> >> D> >
> D> >> D> >
> D> >> D> > El pasado 2008-10-03 14:52:05, Juan Pablo San Martín escribió:
> D> >> D> >
> D> >> D> > JPSM> Estimados:
> D> >> D> > JPSM>     Tengo una variable word con nombre XXX, la cual,
> dentro de
> D> >> los 16
> D> >> D> > JPSM> bits que tiene, tiene información con el siguiente
> esquema:
> D> >> D> > JPSM> BITS 0 al 7: valor 1
> D> >> D> > JPSM> BITS 8 al 11: valor 2
> D> >> D> > JPSM> BITS 12 al 15: valor 3
> D> >> D> > JPSM>     La cosa es que necesito obtener el valor 2, ¿alguien
> me
> D> >> puede dar
> D> >> D> > JPSM> una mano?
> D> >> D> > JPSM> Gracias de antemano,
> D> >> D> > JPSM> JPS
> D> >> D> > JPSM> _______________________________________________
> D> >> D> > JPSM> Lista de correo Cconclase Cconclase en listas.conclase.net
> D> >> D> > JPSM>
> D> >> D> >
> D> >>
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> D> >> D> > JPSM> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> D> >> D> > _______________________________________________
> D> >> D> > Lista de correo Cconclase Cconclase en listas.conclase.net
> D> >> D> >
> D> >>
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> D> >> D> > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> D> >> D> >
> D> >> D> -- D> (\__/)
> D> >> D> (='.'=)This is Bunny. Copy and paste bunny into your
> D> >> D> (")_(")signature to help him gain world domination.
> D> >> D> _______________________________________________
> D> >> D> Lista de correo Cconclase Cconclase en listas.conclase.net
> D> >> D>
> D> >>
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> D> >> D> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> D> >> _______________________________________________
> D> >> Lista de correo Cconclase Cconclase en listas.conclase.net
> D> >>
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> D> >> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> D> >>
> D> >>
> D> >>
> D> >
> D> >
> D> > _______________________________________________
> D> > Lista de correo Cconclase Cconclase en listas.conclase.net
> D> >
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> D> > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> D> >
> D> --
> D> (\__/)
> D> (='.'=)This is Bunny. Copy and paste bunny into your
> D> (")_(")signature to help him gain world domination.
> D> _______________________________________________
> D> Lista de correo Cconclase Cconclase en listas.conclase.net
> D>
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> D> 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/20081005/cc75d35c/attachment.html>


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