【问题标题】:what would happen to the carry in binary base 8 addition?二进制基数 8 加法的进位会发生什么?
【发布时间】:2013-03-12 20:28:45
【问题描述】:

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

【问题讨论】:

    标签: binary base


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-31
        • 2017-12-06
        • 2015-05-16
        • 2020-01-28
        • 2018-09-15
        • 1970-01-01
        • 2021-09-12
        • 1970-01-01
        相关资源
        最近更新 更多