C# 串口数据解析问题

Heartbeats6 2015-05-14 05:42:48
接收到的数据 结果 如何解析出来
...全文
348 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
於黾 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
能来个人吗
  • 打赏
  • 举报
回复
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2015-05-14 05:42
社区公告

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