Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/05/2014, 03:29
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 8 meses
Puntos: 306
Respuesta: duda array bytes

Un número en binario sólo es 0 y 1, la diferencia está en cómo se interpreta.

En tu caso si lo único que quieres es tener dos bytes con el número, no hay ningún problema.

Cita:
int i = 65535;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out;
try {
out = new ObjectOutputStream(bos);
out.writeInt(i);
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

byte[] int_bytes = bos.toByteArray();
Haciendo esto obtendrás un array de bytes donde los dos últimos bytes se corresponden con los valores en binario de 0 a 65535.

Si tratas de leer su valor desde java, el decimal que aparece no se corresponde porque java trabaja con complemento a 2.

11111111 Para java es -1, no 255, pero si no tienes que hacer ninguna operación con él te da igual.

https://sites.google.com/site/gencor...unsigned-bytes
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.