单精度的float 32位怎么拆分成4个字节的byte,byte需要知道高低位,因为要按通讯协议以二进制发送给PLC

.Net技术 码拜 10年前 (2015-05-10) 1433次浏览 0个评论

比如把 123.34f 拆分成 byte[] b=new byte[4]     b[0] b[1] b[2] b[3],并且知道b[0]  b[1] b[2] b[3]的高低位,按通讯协议组合以后发送,PLC收到123.4f  。int可以>>右移拆分出来组合发送,但是浮点型不能右移操作,也想过把float先*100转换成int发送,让PLC收到数据后自己除以100解析,但是不能做到。请指点怎么把浮点数拆分成

10分
用 BitConverter.GetBytes(float) 方法可以将一个 float 转换成一个 byte 数组

不要把 C# 想的那么弱智,什么东西都得自己动手

10分
同意楼上,bitconvert好用不贵
10分
BitConverter.GetBytes(float) 高低位自己用Recivec方法倒序正序都成

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明单精度的float 32位怎么拆分成4个字节的byte,byte需要知道高低位,因为要按通讯协议以二进制发送给PLC
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!