3

使用 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 = 0000lowword = 3ef5

所以 rx 将是3ef5,这转换为十进制给出16,117.

现在我已经使用了这个:

var rx = hexValue.substr(0,4)*65536 + hexValue.substr(4,8);
console.log(parseInt(rx,16));

有没有办法使用nodejs缓冲区库或任何其他比这更好的方法将我的十六进制值直接转换为dword?

4

0 回答 0