2012-11-20 29 views
25

我有一個4個字節陣列代表的浮點值。字節從網絡讀取,例如3e 3f e3 a0。如何將它從byte []轉換爲java中的float?如何轉換4個字節陣列漂浮在Java

+4

彼得斯答案應標。 –

+0

應該嗎?彼得的回答要求構建一個對象,而澤維爾則不需要。 – plugwash

回答

54

在Java中,一個char是16位。如果你的意思是你在小尾數字節順序4個byte值,你需要轉換爲float您可以使用ByteBuffer

byte[] bytes = { } 
float f = ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN).getFloat(); 
+0

確實很有用。 –

+6

還有偏移量和長度的版本:ByteBuffer.wrap(字節,偏移量,長度) –

2

試試這個:作爲公認的

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