為什么兩個(gè)不大的數(shù)相加也可能溢出?
閱讀:540 發(fā)布時(shí)間:2021-5-24
兩個(gè)數(shù)相加時(shí),如果存放運(yùn)算結(jié)果的地址與加數(shù)或被加數(shù)的地址相同,并且沒有采用脈沖執(zhí)行方式,在條件滿足時(shí)每一掃描周期都要執(zhí)行一次運(yùn)算,相當(dāng)于在不斷累加相同的數(shù),因此時(shí)間稍長(zhǎng),就很容易使運(yùn)算結(jié)果超過(guò)允許的范圍,從而產(chǎn)生溢出。
為了解決這一問(wèn)題,加法指令的輸入變量和輸出變量最好選用不同的編程元件,或者采用脈沖執(zhí)行方式,即只在輸入信號(hào)的
上升沿執(zhí)行一次指令。
其他整數(shù)運(yùn)算指令(例如加1和減1指令)和浮點(diǎn)數(shù)運(yùn)算指令也有同樣的問(wèn)題。