2012-03-10 71 views
0

我有以下的二進制數是否有一個函數可以否定C中的二進制數?

uint64_t = 0b0100; 

我想將它否定到

0b1011 

這是一個具體的例子,但我想它對於任何二進制數的變量。例如,

uint64_t a

那麼,有沒有像否定一個函數,將進行以下屬實

a == negate(negate(a)); 
+0

0b0100是不合法℃。還有,你問被稱爲反轉或補充到1.它可能會或可能不會是否定用C因爲C允許多個負整數表示,最常見的是2的補碼。 – 2012-03-10 03:36:41

回答

2

您是否嘗試過使用符〜?

A = ~B; // A has the 1's complement of B 
相關問題