2 つの静的符号なし long 変数間の減算に問題があります。
私の変数は次のように定義されています。
static unsigned long actual_value;
static unsigned long incoming;
static unsigned long outgoing;
while サイクルで行う操作は次のとおりです。
actual_value = actual_value - (outgoing - incoming) / 1000;
ここで、「発信」は常に「着信」より > です。問題は、私の actual_value が反復ごとに変化しないことです。while サイクルの他の時点で「actual_value」の値を変更することは決してないため、問題はここにあります。
実際、その方程式を次のように置き換えてみると:
actual_value = actual_value - 1;
各反復で値が 1 ずつ減少します。
ただし、次のように変更すると:
actual_value = actual_value - 0.1;
繰り返しのたびに、値は 1 ずつ減少します。したがって、静的な符号なし変数がどのように機能するかを完全には理解していないと思います。
問題はどこですか?
前もって感謝します。