float与bytes[]互转

//这个函数将float转换成byte[]

public static byte[] float2byte(float f){

    // 把float转换为byte[]
    int fbit=Float.floatToIntBits(f);

    byte[]b=new byte[4];
    for(int i=0;i< 4;i++){
        b[i]=(byte)(fbit>>(24-i*8));
    }

    // 翻转数组
    int len=b.length;
    // 建立一个与源数组元素类型相同的数组
    byte[]dest=new byte[len];
    // 为了防止修改源数组,将源数组拷贝一份副本
    System.arraycopy(b,0,dest,0,len);
    byte temp;
    // 将顺位第i个与倒数第i个交换
    for(int i=0;i 
  

 

测试:

float f = 2867.2163f;
byte[] b=float2byte(f);
for(int i=0;i<3;i++) {
    System.out.println(b[i]);   //输出byte数组,显示的是奇怪的数字,因为float的四个字节被拆分成了四份
}
float f2=getFloat(b);
System.out.println(f2);

 

注意:在PC机测试的话,注意大小端问题~

你可能感兴趣的:(float与bytes[]互转)