2
我有一個uint32計數器。我讀了這個計數器,並將其存儲爲startCount = counter;
然後我做了一些操作,然後再次檢查櫃檯。如果計數器大於startCount + 1(意味着計數器必須至少增加兩次)。比較復位計數器
if (counter > startCount +1)
break;
現在計數器一旦到達unit32的最大值就會被重置爲零。 爲了彌補這一點,我已經添加
if (startCount == Max)
if (counter > 0)
break;
else
if (counter > startCount +1) || (counter < startCount)
break;
我的問題是:有沒有更好/更聰明的方法呢? 感謝您的幫助。
你可以用'uint64_t'兩個,但瓶坯操作模'UINT23_MAX'。你也可以注意到,即使'startCount == UINT23_MAX','counter> 0'仍然等於'counter> startCount + 1'。但總的來說,給出關於「如何做更聰明的事」的建議需要你展示爲什麼你要做到這一點。 – StoryTeller
計數器是內部的,我不能改變類型。我不太喜歡比較比較,我想知道這個代碼塊是否可以歸結爲一個單一的聲明,考慮到一些expreience程序員可能面臨相似問題。 –