Cómo convertir el byte [4] a flotante en Java
La respuesta recomendada es equiparar incorrectamente bytes con caracteres.
byte b[]={0x41,(byte) 0xc8,0,0};
//Método 1 de entrada de flujo, adecuado para entorno ME/SE
// El valor predeterminado es big endian, si es little endian, primero puede invertir la matriz
DataInputStream dis=new DataInputStream(new ByteArrayInputStream(b));
float f=dis.readFloat( );
dis.close();
System.out.println(f);
//Método 2 almacena en caché la entrada , adecuado para entorno SE/EE
ByteBuffer buf=ByteBuffer.allocateDirect(4); //Caché directo sin memoria adicional
//buf=buf.order(ByteOrder.LITTLE_ENDIAN) ;//Endian grande predeterminado, little endian usa esta línea
buf.put(b);
buf.rewind();
float f2=buf .getFloat();
System.out.println(f2);
Se mostrará el número de punto flotante 25.0