工控小生
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 452 個(gè)
工控威望: 625 點(diǎn)
下載積分: 5932 分
在線時(shí)間: 799(小時(shí))
注冊時(shí)間: 2008-05-19
最后登錄: 2025-01-22
查看工控小生的 主題 / 回貼
樓主  發(fā)表于: 2013-09-20 13:53
圖片:
圖片:
FX2N 程序中要把16個(gè)16位計(jì)數(shù)器數(shù)據(jù)相加求總和,現(xiàn)在的做法是:先分成八組,用ADD 指令兩個(gè)兩個(gè)一組相加,得出的結(jié)果再兩個(gè)兩個(gè)相加,最后求出總和,最后當(dāng)數(shù)據(jù)過大時(shí)會溢出,例如最后30000+30000結(jié)果存儲在D100,D101中,D100數(shù)據(jù)是 27232 ,D101數(shù)據(jù)是  0  運(yùn)算出錯(cuò), 要怎么處理才能都得到準(zhǔn)確數(shù)據(jù),多個(gè)數(shù)相加要怎么解決數(shù)據(jù)過大溢出的問題。
[ 此帖被工控小生在2013-09-20 13:58重新編輯 ]
john42tw
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 1281 個(gè)
工控威望: 6112 點(diǎn)
下載積分: 53088 分
在線時(shí)間: 1125(小時(shí))
注冊時(shí)間: 2012-04-24
最后登錄: 2025-01-23
查看john42tw的 主題 / 回貼
1樓  發(fā)表于: 2013-09-23 09:56
兩個(gè)方法
1.數(shù)值-2147483648~2147483647 之間可用32位元加法
2.轉(zhuǎn)成實(shí)數(shù)來相加