web-dev-qa-db-fra.com

Comment convertir un tableau de 4 octets en flottant dans java

J'ai un tableau de 4 octets qui représente une valeur flottante. Les octets sont lus à partir du réseau, par exemple, 3e 3f e3 a0. Comment puis-je le convertir d'octet [] en float en java?

28
Aaron

In Java a char est 16 bits. Si vous voulez dire que vous avez 4 byte valeurs dans un petit ordre d'octets endian que vous devez convertir en float vous pouvez utiliser ByteBuffer.

byte[] bytes = { }
float f = ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN).getFloat();
64
Peter Lawrey

Essaye ça:

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

3
Xavier