精华内容
参与话题
问答
  • double 、float转换byte

    千次阅读 2019-05-08 11:26:04
    void intToBytesLittle(int value, unsigned char*cSendBuff,int pos) { cSendBuff[pos+3] = (byte)((value >> 24) & 0xFF); cSendBuff[pos+2] = (byte)((value >> 16) & 0xFF); cS...

    void intToBytesLittle(int value, unsigned char*cSendBuff,int pos) {
        cSendBuff[pos+3] = (byte)((value >> 24) & 0xFF);
        cSendBuff[pos+2] = (byte)((value >> 16) & 0xFF);
        cSendBuff[pos+1] = (byte)((value >> 8) & 0xFF);
        cSendBuff[pos+0] = (byte)(value & 0xFF);
    }

    void BigintToBytesLittle(unsigned long long value, unsigned char*cSendBuff, int pos) {
        cSendBuff[pos + 7] = (byte)((value >> 56) & 0xFF);
        cSendBuff[pos + 6] = (byte)((value >> 48) & 0xFF);
        cSendBuff[pos + 5] = (byte)((value >> 40) & 0xFF);
        cSendBuff[pos + 4] = (byte)((value >> 32) & 0xFF);
        cSendBuff[pos + 3] = (byte)((value >> 24) & 0xFF);
        cSendBuff[pos + 2] = (byte)((value >> 16) & 0xFF);
        cSendBuff[pos + 1] = (byte)((value >> 8) & 0xFF);
        cSendBuff[pos + 0] = (byte)(value & 0xFF);
    }

    void shotIntToBytesLittle(short int value, unsigned char*cSendBuff, int pos) {
        cSendBuff[pos + 1] = (byte)((value >> 8) & 0xFF);
        cSendBuff[pos + 0] = (byte)(value & 0xFF);
    }

    void floatToBytesLittle(float value, unsigned char*cSendBuff, int pos)
    {
        unsigned short i = 0;
        float floatVariable = value;
        unsigned char *pdata = (unsigned char *)&floatVariable;
        for (i = 0; i < 4; i++)
        {
            cSendBuff[i+pos] = *pdata++;//float转BYTE
        }
    }

    unsigned int FloatToUInt32(float value)
    {
        return *(unsigned int*)(&value);
    }

    float UInt32ToFloat(unsigned int value)
    {
        return *(float*)(&value);
    }

    unsigned long long DoubleToBigUInt32(double value)
    {
        return *(unsigned long long*)(&value);
    }

    double BigUInt32ToDouble(unsigned long long value)
    {
        return *(double*)(&value);
    }

    展开全文
  • java float转byte不丢失精度方法

    千次阅读 2011-04-02 14:48:00
    // Float f = new Float(-1.1F); // Float f1 = new Float(2.78F); // Float f2= new Float(0.2145782F); // Long l = new Long(1554584512); // String tmp = f.toStr

             //不会丢失精度
    //         Float f = new Float(-1.1F);
    //         Float f1 = new Float(2.78F);
    //         Float f2= new Float(0.2145782F);
    //         Long  l = new Long(1554584512);
    //         String tmp = f.toString()+f1.toString()+f2.toString()+l.toString()+"/n";// f.toString()+","+f1.toString()
    //         byte[] btmp =tmp.getBytes();

    展开全文
  • java中float转byte[](自用)

    千次阅读 2015-07-10 18:44:01
    public static byte[] getBytes(float data)  {  int intBits = Float.floatToIntBits(data);  return getBytes(intBits);  }    public static byte[] getBytes(int data)  {
        public static byte[] getBytes(float data)
        {
            int intBits = Float.floatToIntBits(data);
            return getBytes(intBits);
        }
        
        public static byte[] getBytes(int data)
        {
            byte[] bytes = new byte[4];
            bytes[0] = (byte) (data & 0xff);
            bytes[1] = (byte) ((data & 0xff00) >> 8);
            bytes[2] = (byte) ((data & 0xff0000) >> 16);
            bytes[3] = (byte) ((data & 0xff000000) >> 24);
            return bytes;
        }
    展开全文
  • floatbyte[]互相转换

    万次阅读 2018-06-28 12:19:32
    今天想利用socket发送数据...float类型是4个字节,而byte是1个字节,所以需要转换成为byte[]的类型,来保证数据的正确转换。话不多说,上代码:public class Main {  //这个函数将float转换成byte[]  public stati...

    今天想利用socket发送数据,可是float类型该怎么发送呢?我的想法是先转换成byte[]型,接收之后再转换回来。

    float类型是4个字节,而byte是1个字节,所以需要转换成为byte[]的类型,来保证数据的正确转换。

    话不多说,上代码:

    public class Main {
                //这个函数将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 < len / 2; ++i) {
    			temp = dest[i];
    			dest[i] = dest[len - i - 1];
    			dest[len - i - 1] = temp;
    		}
    	    return dest;
    	}
    	
    	
    	
    	//这个函数将byte转换成float
    	public static float byte2float(byte[] b, int index) {  
    	    int l;                                           
    	    l = b[index + 0];                                
    	    l &= 0xff;                                       
    	    l |= ((long) b[index + 1] << 8);                 
    	    l &= 0xffff;                                     
    	    l |= ((long) b[index + 2] << 16);                
    	    l &= 0xffffff;                                   
    	    l |= ((long) b[index + 3] << 24);                
    	    return Float.intBitsToFloat(l);                  
    	}
    	
    	
    	
    	//测试,主函数
    	public static void main(String[] args) {
    		float f = 12.34f;
            byte[] b=float2byte(f);
            for(int i=0;i<3;i++)
            	System.out.println(b[i]);   //输出byte数组,显示的是奇怪的数字,因为float的四个字节被拆分成了四份
            float f2=byte2float(b, 0);
            System.out.println(f2);
    	}
            
    
    }

    读者直接使用上面的两个函数即可。



    展开全文
  • FloatByte工具

    2018-03-27 00:44:22
    FloatByte工具,简单,好用 https://blog.csdn.net/kangweijian/article/details/79706672
  • java中floatbyte[]的互

    千次阅读 2018-02-20 12:18:47
    想把一个float[]转换成内存数据,查了一下,下面两个方法可以将float转byte[]方法一:import java.nio.ByteBuffer; import java.util.ArrayList; float buffer = 0f; ByteBuffer bbuf = ByteBuffer.allocate...
  • float数组byte数组

    千次阅读 2012-03-07 10:00:20
    float[] flArr = { 0.0f, 1.0f, 20.0f };  byte[] byteArr = flArr.SelectMany(x => BitConverter.GetBytes(x)).ToArray(); int num=1;string result = num.ToString().PadLeft(8,'0');
  • float转byte数组测试小工具
  • float在内存中的数据格式及其转byte数组原理及转换过程参考文章 转换说明 https://blog.csdn.net/yezhubenyue/article/details/7436624 进制转换 http://www.cnblogs.com/xkfz007/articles/2590472.html float在...
  • float[]转byte[] /// <summary> /// float[] byte[] /// </summary> /// <param name="datas"></param> /// <returns></returns> ...
  • 使用 java nio 进行 float 数组与 ...float数组转换为byte数组 public static byte[] floatArrayToByteArray(float[] floats) { ByteBuffer buffer = ByteBuffer.allocate(4 * floats.length); FloatBuffer floa...
  • FloatByte[]互的小工具

    千次阅读 2018-03-27 00:43:34
    FloatByte[]互的小工具 晚上需要一个floatbyte的小工具,一时半会没找到合适的,就自己写了一个。 程序也很简单。 private void Float2ByteBtn_Click(object sender, EventArgs e) { float f=0;...
  • C/C# floatbyte/u8 数组的转化

    千次阅读 2018-07-19 17:51:36
    如有问题,请加扣扣群:460189483 编程语言主要采用IEEE754来存储...在C语言中对于float,用4字节存储, 比如 1.618000 ,在内存中为 160 26 207 63 1.000000, 在内存中为 0 0 128 63 那么我有4个字节...
  • C# floatByte[]互换

    万次阅读 2014-04-19 17:07:08
    假设有这样的代码:  float f = -120.5f;  byte[] b = BitConverter.GetBytes(f);  foreach (var b1 in b)  {  for (int k = 0; k  {
  • C# 实现bytefloat 之间的转换

    万次阅读 2011-08-30 11:15:34
    //float 数据变为 byte 数组  private static byte[] ToByte(float data)  {  unsafe  {  byte*
  • float转换为byte[4]数组

    2020-07-31 16:03:07
    int intbits = Float.floatToIntBits(f);//将float里面的二进制串解释为int整数 按照IEEE 754标准,32位浮点数在计算机中二进制存储形式共三部分:S(1位,符号) E(8位,阶码) M(23位,尾数) 给你举个例子吧,Float....
  • [code="java"...void ConvertFloatToBytes(float Value,inout byte[] Bytes) { uint ByteVal1, ByteVal2, ByteVal3, ByteVal4; asm { mov EAX, Value; and EAX, 0xFF000000...
  • 转换----intint64 申请----申请一个字节缓冲 写入----按照二进制,向缓冲写入数据 取出----以字节流从缓冲中取出 func IntToBytes(n int)[]byte{ data:=int64(n)//数据类型转换 bytebuffer:=bytes.NewBuffer([]...
  • 我们如果多了解一些底层东西,对开发程序是很有帮助的. public class DESUtil { /** * byte[] to short * @param b * @param index * @return short */ public static short getShort(byte[] b
  • 下面是将byte数组转换为float的实现 public static float getFloat(byte[] b) { int accum = 0; accum = accum|(b[0] & 0xff) << 0; accum = accum|(b[1] & 0xff) << 8...
  • 两种方法: 1.单个float转化为byte[],然后拼起来: public byte[] FloatArrayToByteArray(float[] floats) { if (floats.Length <= 0) { return null; } byte[] bytes = ...
  • float转byteunsigned char temp[4]; unsigned short i=0; float floatVariable=value; unsigned char *pdata = (unsigned char *)&amp;floatVariable; for(i=0;i&lt;4;i++) { temp[i+1] = *pdata++;.....
  • float型数据与字节数组的转化

    万次阅读 2014-03-04 18:16:12
    float型数据与字节数组的转化 MCU和PC的浮点数都是基于IEEE754格式的。有4字节(float)、8字节(double)、10字节(有一些不支持)。这里以4字节(float)浮点数为例。 一、C语言 转化常见的方法有: 1、强制指针类型...
  • 本文介绍如何将一个基本数据类型的二进制串转化为这个基本数据,这个二进制串以字节数组的形式保存。
  • static double ArryToDouble(byte[] Array,int Pos) { long accum = 0; accum = Array[Pos+0] & 0xFF; accum |= (long)(Array[Pos+1] & 0xFF); accum |= (long)(Array[Pos+2] & 0xFF); accum
  • C# Byte数组 数值花 Int32 Short Float 浮点数 自己写的Test 有问题可以联系我
  • 1、用二进制保存到文件 public void saveFloatArray2Bin(float[] vArr, String vPath) { FileOutputStream fos = null; DataOutputStream dos = null; try { // 新建文件流 fos = new FileOutputStream...
  • 都是用类BitConverter完成,该类定义了一组静态函数实现双向转换,位于System下...可以将常见的各种数据类型转换为byte数组。 参见: BitConverter.GetBytes Method 例如: float fvalue = 1.02; byte[] bytes ...
  • 多字节数据类型数组(double,float,int,long)数组数组和byte数组的相互转换都可以基于java.nio.Buffer实现. java.nio.DoubleBuffer对应double[], java.nio.FloatBuffer对应float[], java.nio.LongBuffer对应long[]...

空空如也

1 2 3 4 5 ... 20
收藏数 232,194
精华内容 92,877
关键字:

float转byte