https://blog.csdn.net/weixin_38296030/article/details/88353914
问题来源:
"为毛 -x=!x+1 ???
其中x为一任意int型正整数,左式表示取x的相反数后的二进制形式,右式表示先将x的二进制按位取反后再加一得到的二进制形式。
左右两个二进制相同"
假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为:
00000000 00000000 00000000 00000101
5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。
现在想知道,-5在计算机中如何表示?
在计算机中,负数以原码的补码形式表达。
什么叫补码呢?这得从原码,反码说起。
原码:一个正数,按照绝对值大小转换成的二进制数;一个负数按照绝对值大小转换成的二进制数,然后最高位补1,称为原码。
比如 00000000 00000000 00000000 00000101 是 5的 原码。
&nbs

本文详细解释了负数在计算机中以原码、反码和补码形式表示的过程。通过举例说明,如-5的原码、反码和补码转换,以及整数-1的表示,阐述了正数和负数在二进制系统中的差异。重点强调了正数和负数在反码和补码表示中的规则,以及正零和负零在补码表示中的特殊性。
订阅专栏 解锁全文

824

被折叠的 条评论
为什么被折叠?



