Bitwise operators Ayuda !

15/12/2006 - 12:35 por Dario Salvi | Informe spam
Int16 a = (Int16)data[2];

Int16 b = (Int16)data[3];

Int16 c;

a = (a << 8) & 0xFF00;

b = b & 0x00FF;

c = a | b;



Porque me dice que no consigue convertir un int a short ??

Gracias...

Un desesperado.
 

Leer las respuestas

#1 RFOG
15/12/2006 - 12:43 | Informe spam
Ponle moldes a todo:

a = (Int16)((Int16)(a << (Int16)8) & (Int16)0xFF00);

Y en todas las demás también.

Por otro lado, esto:

Int16 a = (Int16)data[2];

Int16 b = (Int16)data[3];



Si data es una tira de bytes te va a tomar así:

Si en data[2] hay 0x33 y en data[3], 0x44,

en a tendrás 0x0033 y en b, 0x0044.


Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
El verdadero modo de no saber nada es aprenderlo todo a la vez.

"Dario Salvi" wrote in message
news:
Int16 a = (Int16)data[2];

Int16 b = (Int16)data[3];

Int16 c;

a = (a << 8) & 0xFF00;

b = b & 0x00FF;

c = a | b;



Porque me dice que no consigue convertir un int a short ??

Gracias...

Un desesperado.

Preguntas similares