基于nodejs实现16进制转浮点数

本文介绍了如何使用Node.js将16进制数据转换为浮点数,具体步骤包括将16进制转化为2进制、截取阶码和尾数的16进制部分,然后将二进制尾数转为十进制小数,并通过公式计算得到浮点数值。在实际应用中,模拟PLC发送数据,服务器接收到16进制数据后进行解析,如02 03 08 44 7A 00 00 42 C9 99 9A 6A EA,可以解析出1000.0和100.8两个浮点数。
摘要由CSDN通过智能技术生成

基于nodejs实现16进制转浮点数

最近,在做一个项目时,下位机以modbusRTU的协议,发送到nodejs后台服务器。后台对modbusRTU协议进行解析:
  • 但是采集数据后,后台如何将16进制的转换为浮点数呢?
    例如我们接收到的十六进制为:
    02 03 08 44 7A 00 00 42 C9 99 9A 6A EA
    我们可以知道采集的数据两个: 44 7A 00 00 和 42 C9 99 9A
    所对应的浮点数为:1000.0和100.8

接下下我们就是实现这个转化
我是以下思路进行解决:

首先要转化为2进制

var data_bit=parseInt(data_hex,16).toString(2);//16进制转2进制

截取阶码对应的16进制

例如:

 var data_E=parseInt(data_bit.slice(0,
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值