是否有一个函数来否定C中的二进制数?

时间:2012-03-10 02:35:35

标签: c binary integer

我有以下二进制数

uint64_t = 0b0100;

我想否定它

0b1011

这是一个具体的例子,但我希望它适用于任何二进制数变量。例如,

uint64_t a

那么有一个像否定这样的函数可以使以下为真

a == negate(negate(a));

2 个答案:

答案 0 :(得分:4)

只需使用bitwise negation operator

bar = ~bar

答案 1 :(得分:2)

您是否尝试过使用操作符〜?

A = ~B; // A has the 1's complement of B