【发布时间】:2012-11-08 07:29:41
【问题描述】:
我有一个代表浮点值的 4 字节数组。从网络读取字节,例如 3e 3f e3 a0。如何将它从 byte[] 转换为 java 中的浮点数?
【问题讨论】:
-
彼得斯的回答应该被标记为接受。
-
应该吗? Peter 的答案需要构造一个对象,而 Xavier 的不需要。
标签: java char type-conversion
我有一个代表浮点值的 4 字节数组。从网络读取字节,例如 3e 3f e3 a0。如何将它从 byte[] 转换为 java 中的浮点数?
【问题讨论】:
标签: java char type-conversion
试试这个:
float foo = Float.intBitsToFloat( buffer[n] ^ buffer[n+1]<<8 ^ buffer[n+2]<<16 ^ buffer[n+3]<<24 );
【讨论】:
在 Java 中,char 是 16 位的。如果您的意思是您有 4 个小端字节顺序的 byte 值,您需要将其转换为 float,您可以使用 ByteBuffer。
byte[] bytes = { }
float f = ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN).getFloat();
【讨论】: