35

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

4

2 回答 2

80

在 Java 中,achar是 16 位的。如果您的意思是您有 4byte个小端字节顺序的值,您需要将其转换为float您可以使用的ByteBuffer.

byte[] bytes = { }
float f = ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN).getFloat();
于 2012-11-20T09:08:05.900 回答
8

尝试这个:

float foo = Float.intBitsToFloat( buffer[n] ^ buffer[n+1]<<8 ^ buffer[n+2]<<16 ^ buffer[n+3]<<24 );

于 2015-12-11T01:20:13.933 回答