我有一个4字节的数组,表示一个浮点值。从网络读取字节,例如3e 3f e3 a0。如何将它从byte []转换为在java中浮动?
答案 0 :(得分:61)
在Java中,char
是16位。如果您的意思是以小端字节顺序排列了4个byte
值,则需要将其转换为float
,您可以使用ByteBuffer
。
byte[] bytes = { }
float f = ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN).getFloat();
答案 1 :(得分:3)
试试这个:
float foo = Float.intBitsToFloat( buffer[n] ^ buffer[n+1]<<8 ^ buffer[n+2]<<16 ^ buffer[n+3]<<24 );