正数: 补码、反码、原码相同; 负数: 补码等于反码+1,反码等于正数的原码取反。
是因为计算机底层设计,两个正数相加等于正数的补码相加; 两个正数相减,可以计算为正数的补码加上负数的补码,即减法也通过加法来计算。
public int negNum(int n) { return ~n+1; }