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://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |