久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 請教這段代碼的算法錯在哪? [打印本頁]

作者: 太陽雨ZW    時間: 2025-1-8 18:14
標題: 請教這段代碼的算法錯在哪?

        fdsj(hour,min);//放電時間顯示
        fd_AH=((hour*60+min)*FD_A)/60/10;//放電容量計算
        FDdisp_AH(fd_AH);//放電容量顯示

        hour-----小時
        min------分鐘
        FD_A----放電電流
        fd_AH---放電容量
      
        這是一臺DIY大功率智能脈沖快速充電機代碼中放電容量計算的代碼,測試發現fd_AH(放電容量)隨著時間一增加到108AH就歸零從頭開始計算,這樣
        108AH以上的電池就不能準確顯示了,百思不得其解,請指點。
作者: glinfei    時間: 2025-1-9 09:02
fd_AH的變量聲明是啥? 編譯程序優化打開沒?要不先把fd_AH=((hour*60+min)*FD_A)/60/10;//放電容量計算 改成fd_AH=(hour/60+min/600)*FD_A)試試?
作者: ydatou    時間: 2025-1-9 09:12
估計樓主這4個變量類型為unsigned char。
(hour*60+min) 最大 255
FD_A 最大255
所以fd_AH經過計算(255*255)/60/10=108;
要把這幾個變量類型改為unsigned int
作者: 太陽雨ZW    時間: 2025-1-9 12:30
glinfei 發表于 2025-1-9 09:02
fd_AH的變量聲明是啥? 編譯程序優化打開沒?要不先把fd_AH=((hour*60+min)*FD_A)/60/10;//放電容量計算 改 ...

fd_AH的變量聲明是uint,放電容量計算 改成fd_AH=((hour/60+min/600)*FD_A)后計算結果始終是零不變化。
作者: 太陽雨ZW    時間: 2025-1-9 12:36
ydatou 發表于 2025-1-9 09:12
估計樓主這4個變量類型為unsigned char。
(hour*60+min) 最大 255
FD_A 最大255

hour和min的變量類型是uchar,  FD_A和 fd_AH是uint,現在把hour,min也改為uint后還是一到108就歸零了。
作者: lkc8210    時間: 2025-1-10 14:58
FDdisp_AH的傳參類型是啥?
作者: 太陽雨ZW    時間: 2025-1-10 17:12
lkc8210 發表于 2025-1-10 14:58
FDdisp_AH的傳參類型是啥?

是uint
作者: ydatou    時間: 2025-1-11 08:50
太陽雨ZW 發表于 2025-1-9 12:36
hour和min的變量類型是uchar,  FD_A和 fd_AH是uint,現在把hour,min也改為uint后還是一到108就歸零了。

51確實容易出現計算錯誤。
試試這樣
unsigned long i=hour*60+min;
i*=FD_A;
fd_AH/=600;
FDdisp_AH(fd_AH);/
作者: 風158    時間: 2025-1-11 10:57
變量計算過程中也不能溢出。
我也遇到過這種情況,摸索好久才解決。
可把變量定義為ulong,或先除后乘,先減后加,防止計算過程中數值溢出無法存放。
我以前就是為了提高精度采用先乘后除,結果到一定數值后突然變0,經過追蹤發現這個數值是65535,這才醒悟。
作者: 太陽雨ZW    時間: 2025-1-11 11:07
ydatou 發表于 2025-1-11 08:50
51確實容易出現計算錯誤。
試試這樣
unsigned long i=hour*60+min;

多謝指點,按照你的算法正常了,非常感謝!
作者: 太陽雨ZW    時間: 2025-1-11 12:08
風158 發表于 2025-1-11 10:57
變量計算過程中也不能溢出。
我也遇到過這種情況,摸索好久才解決。
可把變量定義為ulong,或先除后乘, ...

謝謝回復,按照8樓的算法就正常了。





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 91www| 欧美一区二区三区视频 | 亚洲视频在线播放 | 青青草成人在线 | 欧美福利在线观看 | 免费av大片 | 91精品国产综合久久久蜜臀 | 欧美一级淫片免费视频黄 | 欧美日韩一二三区 | 免费三片在线观看网站v888 | 欧美一级日韩一级 | 综合网在线 | 亚洲一级片 | 精品蜜桃一区二区三区 | 久久免费网 | 国内av在线| 99久久综合 | 国产精品aaa | 日本免费黄色网址 | 欧美综合在线观看 | 亚洲一区在线看 | 欧美日韩小视频 | 久操福利 | 在线va | 免费a视频| 欧美人与性动交α欧美精品 | 国产一级一片免费播放放a 男男成人高潮片免费网站 精品视频在线观看 | 国产一级片视频 | 欧美黄色录像 | 中文字幕亚洲一区 | 国产免费一区二区三区最新不卡 | 欧美无砖砖区免费 | 黄色网址在线免费观看 | 97精品国产97久久久久久免费 | 午夜免费视频 | 三上悠亚激情av一区二区三区 | 国产网站免费 | 一区二区欧美日韩 | 久久久久女教师免费一区 | 视频爱爱免费视频爱爱太爽 | 欧美三级三级三级爽爽爽 |