我在想這個 -我需要多少位來存儲AB + C?
如果A,B是16位數,C是8位,我需要多少位來存儲結果? 32或33?
而且,如果C是一個16位數字呢?然後怎樣呢 ?
我將不勝感激,如果我得到了答案和解釋的時間和時間。
我在想這個 -我需要多少位來存儲AB + C?
如果A,B是16位數,C是8位,我需要多少位來存儲結果? 32或33?
而且,如果C是一個16位數字呢?然後怎樣呢 ?
我將不勝感激,如果我得到了答案和解釋的時間和時間。
你爲什麼不把每個寄存器的最大值,並檢查結果?
如果所有寄存器是無符號:
0xFFFF * 0xFFFF + 0xFF = 0xFFFE0100 = // 32 bits are enough
0xFFFF * 0xFFFF + 0xFFFF = 0xFFFF0000 // 32 bits are enough
如果所有寄存器都簽字,然後爲0xFFFF = -32767,但0xFFFF的* 0xFFFF的將是像以前一樣(負*負爲正)。寄存器C
將使結果稍微小於先前的結果,但您仍然需要32位來存儲它。
爲什麼這會得到downvoted? – Floose