步骤1:创建一个float数组 float[]floatArray={1.23f,4.56f,7.89f}; 1. 步骤2:创建一个字节数组 byte[]byteArray=newbyte[floatArray.length*4]; 1. 步骤3:使用ByteBuffer类将float数组转换为字节数组 ByteBufferbuffer=ByteBuffer.allocate(floatArray.length*4);buffer.order(ByteOrder.nativeOrder());// 使用...
byteresult=byteArray[3]; 1. 此代码将字节数组byteArray的第一个元素作为结果返回。由于我们已经按照高位到低位的顺序存储字节,所以byteArray[3]即为浮点数的最高位字节。 总结 通过以上步骤,我们成功实现了Java Float到Byte的转换。以下是完整的代码示例: publicclassFloatToByteConverter{publicstaticvoidmain(String...
先用Float.floatToIntBits(f)转换成int 再通过如下方法转成byte [] /** *将int类型的数据转换为byte数组 原理:将int数据中的四个byte取出,分别存储 * * @param n int数据 * @return 生成的byte数组 */ publicstaticbyte[] intToBytes2(int n) { byte[] b =newbyte[4]; for (int i =0; i <4;...
首先是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]; ...
1publicclassfloat2bytes2{34/**5* 浮点转换为字节6*7*@paramf8*@return9*/10publicstaticbyte[] float2byte(floatf) {1112//把float转换为byte[]13intfbit =Float.floatToIntBits(f);1415byte[] b =newbyte[4];16for(inti = 0; i < 4; i++) {17b[i] = (byte) (fbit >> (24 - i * 8...
强制类型转换 float f = 123232322.1F;byte b = (byte)f;//强制类型转换 System.out.println(b);
float 类似。 float 占 4 个字节,int 也占 4 个字节,刚好可以把某个 float 的位布局看作一个 int 类型的整数;double 占 8 个字节,long 也占 8 个字节,刚好可以把某个 doube 的位布局看作一个 long 类型的整数。 还有一点需要注意的是 byte & 0xFF 这个骚操作了,如果转换的基本类型是个负数,那么 &...
buf.writeFloat(getSpeed()); buf.writeShort(getBatteryPercentage()); buf.writeLong(getQuest()); return buf.array(); } //省略get set } 那么只需要new出一个上面的对象,调用其toByteArray方法,即可将这个对象转成byte数组。 2 巧用json 我们都知道,字符串是可以转成byte数组的。将一个对象转成json字...
在上述示例中,byte类型的变量num1被隐式转换为int类型的变量num2,short类型的变量num3被隐式转换为int类型的变量num4。这是因为int类型的范围更大,可以容纳byte和short类型的值。 2. 浮点型隐式类型转换 代码语言:javascript 复制 float num1=3.14f;double num2=num1;// float转换为double ...