C# 串口数据解析问题

Heartbeats6 2015-05-14 05:42:48
接收到的数据 结果 如何解析出来
...全文
396 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-05-22
  • 打赏
  • 举报
回复
再说了,本来就是小数部分 0.4260和0.42600有区别???
於黾 2015-05-22
  • 打赏
  • 举报
回复
引用 4 楼 u010331683 的回复:
引用 1 楼 u010331683 的回复:
能来个人吗
42600000 42600000/10000=4260 等于不是4260 是42600 协议给的有问题
是4260啊,算数都不会了? 42600000一共5个0 除以10000,去掉4个0,还剩1个0 你是怎么算出来剩俩0的?
Heartbeats6 2015-05-22
  • 打赏
  • 举报
回复
引用 2 楼 a1295962107 的回复:
16进制的00000001 转换成10进制就是1 1*1000=1000;1000升=1立方米 16进制的028A0640 转换成10进制就是42600000 42600000/10000=4260 所以是1.4260m^3
人家协议写的有问题42600000/10000=4260 等于42600不是4260
Heartbeats6 2015-05-22
  • 打赏
  • 举报
回复
引用 1 楼 u010331683 的回复:
能来个人吗
42600000 42600000/10000=4260 等于不是4260 是42600 协议给的有问题
a1295962107 2015-05-15
  • 打赏
  • 举报
回复
16进制的00000001 转换成10进制就是1 1*1000=1000;1000升=1立方米 16进制的028A0640 转换成10进制就是42600000 42600000/10000=4260 所以是1.4260m^3
本拉灯 2015-05-15
  • 打赏
  • 举报
回复


private void Form1_Load(object sender, EventArgs e)
        {
            byte[] buffer = new byte[] { 0x00, 0x00, 0x00, 0x01};
            byte[] buffera=new byte[]{ 0x02, 0x8A, 0x06, 0x40 };

            float height = BufferToInt(buffer) ; 等1
            float flt = BufferToInt(buffera) ;426000000000自己换算吧
         
            
        }


        public int BufferToInt(byte[] buffer)
        {
            buffer = buffer.Reverse().ToArray();
            return BitConverter.ToInt32(buffer, 0);
        }


Heartbeats6 2015-05-14
  • 打赏
  • 举报
回复
能来个人吗

110,534

社区成员

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

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

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