代码拉取完成,页面将自动刷新
modbus协议传输数据,尝试将s32数据处理为无符号整数,计算过程中发现结果并不正确
local value = -165
value = value < 0 and 4294967295 + value + 1 or value
local HWord=math.floor(value/65536)
local LWord=value%65536
print(HWord, LWord)
打印信息为
[2024-04-23 14:50:10.494][000000002.015] 65535 65280.00
如果计算正确那么HWord*65536+LWord应该等于4294967295 + 1 - 165也就是4,294,967,131,这里的结果65535X65536+65280为4,294,967,040,明显不相等,计算过程中似乎存在问题,但是目前没有方法直接打印这样的大数据无论是直接print还是print(tostring)结果都是科学计数法表示,无法对数据的计算过程进行跟踪
[2024-04-23 14:50:10.494][000000002.015] 65535 65280.00
1.0.0.1