有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

浮点Java字节到浮点

我有2个字节,我想把它们表示为float。 我知道这个方法

float f = ByteBuffer.wrap(weight).order(ByteOrder.LITTLE_ENDIAN).getFloat();

但是这种方法只适用于4字节数组。 只有2个字节,有办法做到这一点吗?我曾考虑在数组权重中添加两个0字节,以获得数组中的4字节,但结果与我预期的相差甚远

byte[] Data = characteristic.getValue();
byte[] weight = new byte[4];
weight[3] = Data[2];
weight[2] = Data[1];
weight[1] = 0;
weight[0] = 0;
float f = ByteBuffer.wrap(weight).order(ByteOrder.LITTLE_ENDIAN).getFloat();

另外,我必须交换接收到的两个字节,这就是为什么我要改变它们的位置。我也试过了

    weight[0] = Data[2];
    weight[1] = Data[1];
    weight[2] = 0;
    weight[3] = 0;

但它也不适合。 Thx


共 (0) 个答案