使用C#的Integer的反转位

Dar*_*ide 0 c# reverse byte mask bit

我想询问是否有一种有效的方法来反转整数中的所有set和unset位.例如:如果我有整数:

1338842

这与二进制文件相同:

101000110110111011010
Run Code Online (Sandbox Code Playgroud)

如何对此进行反转,使每1位变为0位,每0位变为1位.反过来的结果应该是:

010111001001000100101
Run Code Online (Sandbox Code Playgroud)

这基本上是整数:

758309
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法展示我的尝试,因为我没有.我不知道该怎么做.这就是为什么我希望董事会成员可以给我一些建议.

SLa*_*aks 8

这正是按位运算符(~)的作用.


mak*_*iuk 6

按位运算符!

int value = 1338842;
int inversed = ~value;
Run Code Online (Sandbox Code Playgroud)