我在想这个 -我需要多少位来存储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