作者:
look1214 (Swatch)
2019-11-05 18:44:24剛剛突然想到
假設今天用4個bits的二補數表示來做7+7
0111+0111=1110
出來的值為-2
這要怎麼解決?
謝謝
這不是正常的行為嗎?怎麼解析那個4bit的數是寫程式的人的工作
作者:
tw4563335 (tw4563335)
2019-11-05 19:54:00你可以改用8個bits做啊
作者:
chuegou (chuegou)
2019-11-05 20:32:00你的ALU沒有溢位或進位旗標嗎
你的意思是你要寫大數運算,在問 C 該如何做進位嗎?因為在組合語言的層面會有旗標告訴你該進位了
4bit二補數能表達的範圍就是+7~-8呀比起要怎麼解決 有什麼原因要加兩個極限數值才是問題吧
作者:
MartinJ40 (Martin J-40)
2019-11-06 14:06:00換一台電腦就好了
那如果 int128 也溢位還能換什麼電腦? XD
作者:
ofd168 (大色狼來襲)
2019-11-11 09:00:00如果是硬體,實務上是,兩個4個bits相加會變成5個bits,然後透過saturate砍回4個bits,這樣可以保證不會overflow