使用 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?