使用modbus作为通信协议的仪表手册中给出的规范:
“dword” refers to 32-bit unsigned integer using two data addresses and 4 bytes
of memory with high word at the front and low word at the end, it varies from 0
to 4294967295. rx = high word *65536+low word
我有这个hexValue:00003ef5
。
其中highword = 0000
和lowword = 3ef5
所以rx为3ef5
,转换为十进制为16,117
。
现在我用过这个:
var rx = hexValue.substr(0,4)*65536 + hexValue.substr(4,8);
console.log(parseInt(rx,16));
有没有办法使用nodejs缓冲库或任何其他方法将我的十六进制值直接转换为dword?