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

ningshifeixu 2014-03-03 05:20:19
刚用C#就遇到了一个头疼的问题,读取一个二进制文件,里面存的浮点数,想12个为一组存到float[12]里,然后用filestream.read()读到一个byte[]48里,不知道该怎么转换了。。。要是在c里用指针强制转换下就好了,C#里该怎么办呢?
...全文
1164 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wepwep 2014-03-04
  • 打赏
  • 举报
回复
4楼大神,你是怎么把Byte[48]转换成float[12]的呢?或者有办法直接用FileStream读出float[12]?
jiaoshiyao 2014-03-04
  • 打赏
  • 举报
回复
直接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](); 这样????????????
BenBenBears 2014-03-03
  • 打赏
  • 举报
回复
楼上所言极是,直接读取字节,不需要转换。
  • 打赏
  • 举报
回复
你FileStream读取48个字节,不用折腾什么float[12]。
  • 打赏
  • 举报
回复
说句不好听的,脱裤子放屁,多了一道手续。
emailtome 2014-03-03
  • 打赏
  • 举报
回复
test: float f = (float) 1.6; var bytes = BitConverter.GetBytes(f); var float = BitConverter.ToSingle(bytes, 0);
feiyun0112 2014-03-03
  • 打赏
  • 举报
回复
BinaryReader.ReadSingle 方法
http://msdn.microsoft.com/zh-cn/library/system.io.binaryreader.readsingle%28v=vs.110%29.aspx

*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
rtdb 2014-03-03
  • 打赏
  • 举报
回复
BitConverter.GetBytes(float v);

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧