不懂你说的什么意思。正数的反码相同?怎么可能呢?
反码指的是按位取反,例如1的二进制码(单字节)是 00000001,反码则是11111110,这怎么相同呢?负数的二进制码用的是补码,补码就是先取反码再加1,1的二进制码是00000001,反码是11111110,而补码是11111111,所以-1的二进制码是11111111

解决方案 »

  1.   

    给你下面两个公式当为正数时,最高有效位为0,剩余的位数表示必须相同了
    二者相同,见下面的代码及输出:System.out.println(~6 == -7);

    System.out.println(Integer.toBinaryString(6));
    System.out.println(Integer.toBinaryString(~6));
    System.out.println(Integer.toBinaryString(-7));输出为
    true
    110
    11111111111111111111111111111001
    11111111111111111111111111111001