如何用一個函數就能實現將正數變成對應的負數,將負數變成對應的正數:
int turn(int a)
{
a = ~a + 1;
return a;
}
int main()
{
printf("%d\n", turn(5));
printf("%d\n", turn(0));
printf("%d\n", turn(-1));
return 0;
}
正數取反加一後,得到就是負數的補碼,負數是以補碼的形式存在內存中,補碼轉爲原碼是就是正數要轉化後對應的負數
負數取反加一後,得到一個補碼,但正數的補碼原碼一樣
注意:取反和取反碼是不同的兩個概念,運算時都是補碼形式參與運算,因爲有負數參與