补码+0和-0相同?

来源:百度知道 编辑:UC知道 时间:2024/05/26 05:03:23
我知道+0和-0补码相同,可是比如在八位机上,+0(00000000)求补码是10000000,而-0(10000000)求补码是(00000000)啊,求补码的做法是符号位不变,其余为取反,然后再加1,没错吧,那我的错误出在哪里?

就没有正确的地方,在计算机中是不存在正负零之分的.而你对补码理解又有错误的.补码只不过是用来表示带符号数而已.补码的原则是:
正数的补码是其本身,也就是原码.
负数的补码是各位取反后加1.也就是其反码加1.

+0的补码就是其原码,也就是说是0000 0000而已(对于8位来说)
-0的补码是其反码加1,其反码是1111 1111,当然,其反码加1后就是溢出一个进位后,仍然是0000 0000.

正数的补码等于原码,符号位是0.
负数的补码等于原码取反加1,符号位是1.

符号位是第八位啊,不要变啊。
所以+0还是0000 0000,-0还是1000 0000啊
没错啊,求补的时候,第八位不要跟着反啊。