2014-02-10 57 views
-4

我想寫一個函數,可以否定一個整數,而不使用 - 運算符。如何使用按位運算符?

函數是int negate(int n),有人能告訴我如何在C編程中做到這一點?

+4

你是指'n =〜n + 1;'? – mah

+0

假設你的機器使用Two's Complement:http://en.wikipedia.org/wiki/Two's_complement –

回答

1

我說C#但它應該是在C相同。試試這個。

int negate(int n){ 
    return ~n + 1; // or you could use ~(n - 1) 
} 

保重。