请记住,负数存储为二进制补码的正对应物。作为示例,以下是 -2 的二进制补码表示形式:(8 位)
1111 1110
获得此值的方法是采用数字的二进制表示形式,取其补码(反转所有位)并加一。两个以 0000 0010 开头,通过反转位我们得到 1111 1101。加一得到上面的结果。第一位是符号位,表示负数。
那么让我们看看如何得到 ~2 = -3:
这里又是两个:
0000 0010
只需翻转所有位,我们就得到:
1111 1101
那么,-3 在二进制补码中是什么样子呢?从正3开始:0000 0011,将所有位翻转为1111 1100,加一成为负值(-3),1111 1101。
因此,如果您简单地反转 2 中的位,您将得到 -3 的二进制补码表示形式。
补码运算符 (~) 只是翻转位。由机器来解释这些位。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)