二进制补码中只有一个编码:00000000。
只有原码和补码中有两个零(+0,-0)。
但是,在计算机中,值始终以二进制补码表示和存储。
计算机中既没有原码,也没有反码。
所以,+0和-0在计算机中不存在。
那么反思它们并解释它们是没有意义的。
——————————————————————————————
值0既不是正值也不是负值。可以说是“中性”。
但在计算机编码中,它是1或0,不能表示“中性”。
因此,为了愚弄所有人,计算机专家必须给出零并发明两个代码(+0,-0)。
后来我发现我能骗过人,但骗不了电脑。
因此,原码和逆码均无法应用。
其实原码就是反码+0-0。这些垃圾概念只是一堆谎言。
正负数和补码可以直接交换,无需切换到原码的反码。
例如,-9的补码是11110111。
9的源代码是00001001。对于负数,补码的最高位为1,其余的反转为11110110。接下来,将最小值加1,即11110111。
计算机中的负数以补数形式存在。补码=原码的逆码+1。
一个字节为8位,可以表示-128到+127范围内的值。在二进制表示中,它将是10000000-01111111(注意:最高有效位代表符号)。最高有效位为1的任何数都是负数,最高有效位为0的任何数都是正数。
扩展信息:
补码乘法
补码乘法需要[X*Y]补=[X]有不。补数×[Y]补数属性。然而,[X*Y]补码==[X]补码[011*011]=-01001=10111。
如果[Y]补=y31y30...y0,则Y=-y31*2^31+y30*2^30+...+y0*2^0
原始代码表示在值之前添加了一个符号位(即最高有效位是符号位)。该位为0表示正数,1表示负数(0有两种表示:+0和-0),其余位表示数字的大小。
上一篇:云计算发展历程
下一篇:整数在内存中的存储形式