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 
相关问题