1的补码二进制数的“
0”
是通过切换其中的所有位获得的另一个二进制数, 即将0位转换为1, 将1位转换为0。
例子:
Let numbers be stored using 4 bits1's complement of 7 (0111) is 8 (1000)1's complement of 12 (1100) is 3 (0011)
【1的补数和2的补数有什么区别()】2的补码
二进制数的1被加到二进制数的1的补码上。
例子:
Let numbers be stored using 4 bits2's complement of 7 (0111) is 9 (1001)2's complement of 12 (1100) is 4 (0100)
这些表示形式用于带符号的数字。
的主要区别1’ 的补码和2’ 的补码之间的关系是1’ 的补码具有两种表示形式:0(零)– 00000000, 其为正零(+0)和11111111, 其为负零(-0);而在2的补码中, 零只有一种表示形式– 00000000(+0), 因为如果将1添加到11111111(-1), 我们将得到00000000(+0), 它与正零相同。这就是为什么通常使用2’ s补码的原因。
另一个区别是, 在使用1’ 的补码相加数字时, 我们首先进行二进制加法, 然后相加最终值进位。但是2的补码只有一个零值, 并且不需要进位值。
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请发表评论。
推荐阅读
- CPU缓存和TLB有什么区别(如何理解?)
- HTML和HTTP之间有什么区别()
- http和https之间有什么区别()
- 互联网和网络有什么区别()
- 优先级倒置和优先级继承之间的区别
- 脚本语言和编程语言有什么区别()
- Quicksort最坏的情况何时发生()
- 我们什么时候通过引用或指针传递参数()
- C++中什么时候使用初始化列表()