gpt4 book ai didi

twos-complement - 为什么这两个的补码快捷方式有效?

转载 作者:行者123 更新时间:2023-12-05 00:20:12 27 4
gpt4 key购买 nike

形成二进制数的二进制补码的一种快捷方法是从右边复制位,直到复制了一位,然后对剩余的位进行补码(反转)。

这在 SO here 上有解释以及 Wikipedia .

没有解释的是为什么这个快捷方式有效,也就是说,为什么它会产生与所有位取反并加一相同的结果。所以,我的问题是,为什么这有效?

最佳答案

它之所以有效,是因为向二进制数加 1 是通过从右侧将所有 1 翻转为 0 直到达到 0 来完成的,然后将其翻转为 1 并停止(本质上是携带 1 加 1 的溢出)。

所以一种方法只翻转第一个左边的位,而另一种翻转所有位,然后翻转第一个 1(现在是 0)和它右边的位。

例如。:

 01000100
10111100 // copy bits until a 1 is reached, then flip the rest

对比
 01000100
10111011 // invert all bits:
+ 1 // add one
10111100

关于twos-complement - 为什么这两个的补码快捷方式有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34982608/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com