Trabajo con bytes

15/07/2008 - 16:52 por Catalin Lungu | Informe spam
Hola,
Como podria escribir un número de 0..4095 en 2 bytes de la siguiente forma.

b1=0 b2=0 b3=0 b4=0 y en los siguientes 12 bits el numero.

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
15/07/2008 - 17:02 | Informe spam
"Catalin Lungu" wrote in message
news:
Como podria escribir un número de 0..4095 en 2 bytes de la siguiente
forma.

b1=0 b2=0 b3=0 b4=0 y en los siguientes 12 bits el numero.



unsigned numero = 4095;
byte[] resultado = new byte[2];
resultado[0] = (byte) (numero >> 8);
resultado[1] = (byte) (numero & 0xff);

Lo anterior supone que el primer byte (0) tiene los cuatro ceros más los
cuatro bits más significativos del número, y el segundo byte (1) tiene los
ocho bits menos significativos. Si los quieres en otro orden, basta con que
juegues adecuadamente con los operadores de desplazamiento de bits (>> y <<)
y con los "y" y "o" lógicos (& y |) de forma similar a la indicada arriba.
Respuesta Responder a este mensaje
#2 Catalin Lungu
15/07/2008 - 17:25 | Informe spam
Muchas gracias Alberto. No sabes algun link donde pueda aprender sobre el
desplazamiento y operaciones logicas.
También si no te cuesta mucho podrias decirme como hago la inversa para
rescatar el numero.
Respuesta Responder a este mensaje
#3 Alberto Poblacion
15/07/2008 - 19:54 | Informe spam
"Catalin Lungu" wrote in message
news:
Muchas gracias Alberto. No sabes algun link donde pueda aprender sobre el
desplazamiento y operaciones logicas.



En la especificación del lenguaje C# vienen:
http://msdn.microsoft.com/en-us/library/6a71f45d(vs.71).aspx

También si no te cuesta mucho podrias decirme como hago la inversa para
rescatar el numero.



numero = (byte[0]<<8)+byte[1];
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida