我尊重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