首先,所谓“正数”、“负数”(以及零)所指的都是一个数字本身的值,和编码方式、书写方式、存储方式都是无关的——编码当然不会改变原数的数值大小了.所以,你所谓的“这个正数也可能是负数的补码”的情况是不可能存在的.
当然,你不会不明白这一点,只不过是说法有点问题.我想你的意思是这样的:
1)一个正数,其补码的形式就是其“原码”的形式本身;
2)一个“有着正数的‘原码(或补码)’形式”的编码——即符号位为 0 的一个编码,可能是一个负数的“补码”;
如果是这样,那请记住:根据补码的定义,任何负数的补码,其符号位都只能是 1,不可能是 0.所以,还是不会出现你所担心的问题.