float 値を表す 4 バイトの配列があります。バイトはネットワークから読み取られます (例: 3e 3f e3 a0)。Javaでバイト[]からフロートに変換するにはどうすればよいですか?
質問する
43485 次
2 に答える
80
Java では、achar
は 16 ビットです。byte
リトル エンディアンのバイト オーダーに4 つの値があることを意味する場合は、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 に答える