除了使用ByteBuffer,我们还可以通过位运算直接操作float的底层字节表示。 publicclassFloatByteArrayConversionBitwise{publicstaticbyte[]floatToByteArray(floatvalue){intintBits=Float.floatToIntBits(value);returnnewbyte[]{(byte)(intBits>>24),(byte)(intBits>>16),(byte)(intBits>>8),(byte)intBits};}public...
首先,我们定义了一个浮点数floatValue,并将其赋值为3.14f。 然后,我们调用floatToByteArray()方法,并将浮点数作为参数传递给该方法。 在floatToByteArray()方法中,我们使用Float.floatToIntBits()方法将浮点数转换为整数类型。这个方法将浮点数的位模式转换为整数的位模式,而不改变数值本身。返回的整数值存储在变量int...
在这个示例中,我们创建了一个ByteBuffer对象,并分配了4个字节的空间。然后,我们使用putFloat方法将float值写入ByteBuffer中。最后,我们通过调用array方法获取了包含float值字节表示的字节数组。 另外,如果你想使用位操作来实现相同的转换,可以参考以下代码: java public class FloatToByteArrayBitwise { public static byte...
首先是float数组转byte数组 public static byte[] FloatArrayToByteArray(float[] data) { byte[] Resutl = {}; for (int i = 0; i < data.length; i++) { byte[] intToBytes2 = intToBytes2(Float.floatToIntBits(data[i])); byte[] temp = new byte[4]; temp[0] = intToBytes2[3]; ...
起因:想把一个float[]转换成内存数据,查了一下,下面两个方法可以将float转成byte[]。 方法一 import java.nio.ByteBuffer; import java.util.ArrayList; float buffer = 0f; ByteBuffer bbuf = ByteBuffer.allocate(4); bbuf.putFloat(buffer);
length - i - 1) * 8; } return value; } /** * float转byte[] * @param value * @return byte[] */ public static byte[] floatToByteArray(float value){ int bitLayoutIntValue = Float.floatToIntBits(value); byte[] bytes = new byte[4]; for (int i = 0; i < bytes.length; i+...
* SHORT转BYTE数据 * * @param s * @return */ protected byte[] shortToByteArray(short s) { byte[] shortBuf = new byte[2]; for (int i = 0; i < 2; i++) { int offset = (shortBuf.length - 1 - i) * 8; shortBuf[i] = (byte) ((s >>> offset) & 0xff); ...
先用Float.floatToIntBits(f)转换成int 再通过如下方法转成byte [] /** *将int类型的数据转换为byte数组 原理:将int数据中的四个byte取出,分别存储 * * @param n int数据 * @return 生成的byte数组 */ public static byte[] intToBytes2(int n) { ...
buf.writeFloat(getSpeed()); buf.writeShort(getBatteryPercentage()); buf.writeLong(getQuest()); return buf.array(); } //省略get set } 那么只需要new出一个上面的对象,调用其toByteArray方法,即可将这个对象转成byte数组。 2 巧用json 我们都知道,字符串是可以转成byte数组的。将一个对象转成json字...
importjava.nio.ByteBuffer;publicclassFloatToByteArrayExample{publicstaticvoidmain(String[]args){// 步骤1:创建一个Float对象FloatfloatValue=newFloat(3.14f);// 步骤2:获取float值floatfloatVal=floatValue.floatValue();// 步骤3:将float值写入ByteBufferByteBufferbuffer=ByteBuffer.allocate(4);buffer.putFloat(...