2011-04-24 57 views
0

我在做使用MARS的浮點數加法。正常化浮點數

SameExponent: 
    add $s6,$s4,$s5 

後,我對齊指數,我加了有效數,但如何檢測是否總和仍然正火或不是爲了轉移signicicand到左邊還是右邊?謝謝

+0

這是MARS MIPS模擬器嗎?如果是這樣,你可能想用mips標記它。 – Andy 2011-04-24 17:29:22

回答

1

如果有效數是範圍-A ... + A中的整數,那麼將它們加在一起的結果在-2A ... + 2A的範圍內。爲了使結果標準化,您需要向左或向右移動以獲得最重要的1位迴歸正常位置,跟蹤您移位了多少,以便相應地調整指數。

最大需要右移是一個位置;如果你的論點可能是積極的或消極的,那麼左移可能更多。最簡單的方法是使用while-樣式的循環,向左移動一個直到MSB在你想要的位置。

Algorithm for finding the smallest power of two that's greater or equal to a given value有一些替代的可能性,如果你想要更快的東西(儘管MIPS沒有)。