Comment convertir un tableau de 4 octets en float en java

j'ai un tableau de 4 octets qui représente une valeur flottante. Les octets sont lus depuis le réseau, par exemple, 3e 3F e3 A0. Comment puis-je le convertir de byte[] en float en java?

26
demandé sur Aaron 2012-11-20 13:02:54

2 réponses

en Java a char est de 16 bits. Si vous voulez dire que vous avez un 4 byte valeurs dans l'ordre des petits octets endians que vous devez convertir en float vous pouvez utiliser ByteBuffer.

byte[] bytes = { }
float f = ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN).getFloat();
57
répondu Peter Lawrey 2012-11-20 09:08:05

essaye ceci:

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

3
répondu Xavier 2018-02-24 22:21:13