新手请教一下,串口modbus传来的4个字节的浮点数,程序怎么处理才能正确的识别成浮点数?

jerry2cool 1月前 216

用什么方式最好?多谢各位大佬了

最新回复 (5)
  • 光庆 1月前
    0 2
    import console; 
    var num = {
    	union u = {
    		byte b[4];//4字节
    		float f;//单精度浮点数
    	}
    }
    num.u.b={11,22,33,44};
    raw.convert(num,num);
    console.dump(num.u.f);
    
    console.pause(true);


  • jerry2cool 1月前
    0 3
    光庆 import console;  var num = { union u&nb ...
    感谢大佬,我试试
  • jerry2cool 1月前
    0 4
    感谢大佬,已经可以了,前面和C语言是一样的,就是不知道还有raw.convert这个函数,看来我还得多学习学习基础知识了,再次感谢。
  • 光庆 1月前
    0 5
    jerry2cool 感谢大佬,已经可以了,前面和C语言是一样的,就是不知道还有raw.convert这个函数,看来我还得多学习学习基础知识了,再次感谢。

    更多方法如下:

    import console; 
    
    // 方法1:
    var num = {
        union u = {
            byte b[4];//4字节
            float f;//单精度浮点数
        }
    }
    num.u.b={11,22,33,44};
    raw.convert(num,num);
    console.dump(num.u.f);
    
    //方法2:
    var b = {byte b[4]={11,22,33,44}};
    var f = {float f};
    raw.convert(b,f)
    console.dump(f.f)
    
    //方法3:
    var b = '\11\22\33\44';
    var f = {float f};
    raw.convert(b,f)
    console.dump(f.f)
    
    console.pause(true);


  • jerry2cool 1月前
    0 6
    光庆 更多方法如下:import console;  // 方法1: var num =  ...
    又学习了,感谢大佬!
返回