C#中byte[ ]转换成float[ ]的问题

时间:2022-09-05 19:55:11
刚用C#就遇到了一个头疼的问题,读取一个二进制文件,里面存的浮点数,想12个为一组存到float[12]里,然后用filestream.read()读到一个byte[]48里,不知道该怎么转换了。。。要是在c里用指针强制转换下就好了,C#里该怎么办呢?

8 个解决方案

#1


            BitConverter.GetBytes(float v);

#2


BinaryReader.ReadSingle 方法 
http://msdn.microsoft.com/zh-cn/library/system.io.binaryreader.readsingle%28v=vs.110%29.aspx
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/

#3


test:            
            float f =  (float) 1.6;
            var bytes = BitConverter.GetBytes(f);
            var float = BitConverter.ToSingle(bytes, 0);

#4


说句不好听的,脱裤子放屁,多了一道手续。

#5


你FileStream读取48个字节,不用折腾什么float[12]。

#6


楼上所言极是,直接读取字节,不需要转换。

#7


4楼大神,你是怎么把Byte[48]转换成float[12]的呢?或者有办法直接用FileStream读出float[12]?

#8


直接byte[]转换float[]
new byte[]{1,2,3,4}.ToList().Select(d=>(float)d).ToList();
你写的什么filestream什么读取啊
你是说把一个48byte数组转换成12float的数组???
byte[] b = new byte[48]();
float[] f = new float[12]();
这样????????????

#1


            BitConverter.GetBytes(float v);

#2


BinaryReader.ReadSingle 方法 
http://msdn.microsoft.com/zh-cn/library/system.io.binaryreader.readsingle%28v=vs.110%29.aspx
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/

#3


test:            
            float f =  (float) 1.6;
            var bytes = BitConverter.GetBytes(f);
            var float = BitConverter.ToSingle(bytes, 0);

#4


说句不好听的,脱裤子放屁,多了一道手续。

#5


你FileStream读取48个字节,不用折腾什么float[12]。

#6


楼上所言极是,直接读取字节,不需要转换。

#7


4楼大神,你是怎么把Byte[48]转换成float[12]的呢?或者有办法直接用FileStream读出float[12]?

#8


直接byte[]转换float[]
new byte[]{1,2,3,4}.ToList().Select(d=>(float)d).ToList();
你写的什么filestream什么读取啊
你是说把一个48byte数组转换成12float的数组???
byte[] b = new byte[48]();
float[] f = new float[12]();
这样????????????