quote:以下是引用西山炮台在2014-01-07 13:12:51的发言:
我感觉是不是这20个正数之和超过了VD3000的最大正整数范围?
VD的无符号整数最大为4294967295
VD的有符号整数最大为2147483647
你看到VD3000里的数为负数,可能是你监控VD3000的时候用的是有符号整数。
当前19个数之和为2147483647时,再加第20个数,假设第20个数是1,那么结果是什么呢?
是不是 - 2147483648
我感觉你看到负数的原因就在这,你可以监控一下看看。
数值的大小不是问题,看楼主描述采集的是整型数, 再转双整型,20个整型数相加是不会使双整型溢出的。因此不是转换时错了就是相加时错了,诚如凌飞翼大侠所言,没程序没真相。