如何在java中将4字节数组转换为float

时间:2012-11-20 09:02:54

标签: java char type-conversion

我有一个4字节的数组,表示一个浮点值。从网络读取字节,例如3e 3f e3 a0。如何将它从byte []转换为在java中浮动?

2 个答案:

答案 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 );