我有两个静态无符号长变量之间的减法问题。静态无符号长变量之间的减法
我的变量定义如下:
static unsigned long actual_value;
static unsigned long incoming;
static unsigned long outgoing;
我在一段时间周期做的操作是:
actual_value = actual_value - (outgoing - incoming)/1000;
其中 “离开” 总是>比 “进入”。 问题是我的actual_value在每次迭代中都不会改变。 我从来不会在while循环的任何其他点修改“actual_value”的值,所以问题在这里。
事实上,如果我尝试替换该方程:
actual_value = actual_value - 0.1;
:1。
actual_value = actual_value - 1;
正确地在每次迭代值减小但是,如果我有改变
再次在每次迭代的值减少1. 所以我想我还没有完全理解静态无符号变量是如何工作的。
问题在哪里?
在此先感谢。
是'传出 - incoming'不到'1000'? –
是的。它是一个小的无符号长整型值(总是小于几十)。 – aliants