0

如果我添加 2 个二进制数,10000000 + 10000000,以 8 为基数,会发生什么?携带会发生什么?

4

2 回答 2

0

您不能同时使用二进制(以 2 为基数)和以 8 为基数。我还必须假设您的意思是样本值中的无符号值。您是否想知道这里的溢出、截断或其他问题?简而言之,你真正想要做什么?

于 2013-03-12T20:34:00.677 回答
0

大多数现代 CPU 在其通用标志集中都有一个进位标志 (CF),它将包含加法后高位的进位。因此,在这种特定情况下,假设无符号值为 0b1000.0000,则总和将为 0b0000.0000,并设置 CF 标志,总“虚拟”值为 0b1.0000.0000,这是正确的总和。然而,正确处理此类溢出高度依赖于底层算法试图做什么。在某些情况下,溢出是可以接受的,但在许多情况下却不是。

于 2013-03-12T20:45:46.827 回答