2012-03-04 14 views
0

在Mips中,Addu不會在溢出時產生異常。那麼它還可以用於2的補碼算術嗎?可以在2的補碼算法中使用MIPS addu嗎?

我認爲答案是否定的。這是因爲如果發生溢出,則意味着結果超出了可用的硬件空間。所以有必要拋出異常。

您認爲如何?

+0

它有什麼問題*不會產生異常?它會在IA-32/x86中產生異常嗎? (我不是說它可以這樣使用,但不相信當前的論證是有效的。) – 2012-03-04 22:06:03

回答

3

添加無符號值和帶符號(2的補碼)值沒有區別。因此,您可以同時使用addaddu作爲簽名值。

事實上,addu不會在溢出的情況下引發異常是一個完全不同的問題。無論如何,其他一些架構從來不這樣做。發生溢出時是否需要異常並不取決於您使用帶符號還是無符號算術。您還可以詢問addu是否可用於無符號算術,因爲存在未被注意的溢出的風險。