glinfei 發表于 2025-1-9 09:02
fd_AH的變量聲明是啥? 編譯程序優化打開沒?要不先把fd_AH=((hour*60+min)*FD_A)/60/10;//放電容量計算 改 ...
ydatou 發表于 2025-1-9 09:12
估計樓主這4個變量類型為unsigned char。
(hour*60+min) 最大 255
FD_A 最大255
lkc8210 發表于 2025-1-10 14:58
FDdisp_AH的傳參類型是啥?
太陽雨ZW 發表于 2025-1-9 12:36
hour和min的變量類型是uchar, FD_A和 fd_AH是uint,現在把hour,min也改為uint后還是一到108就歸零了。
ydatou 發表于 2025-1-11 08:50
51確實容易出現計算錯誤。
試試這樣
unsigned long i=hour*60+min;
風158 發表于 2025-1-11 10:57
變量計算過程中也不能溢出。
我也遇到過這種情況,摸索好久才解決。
可把變量定義為ulong,或先除后乘, ...
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |