使用C#的Integer的反转位

时间:2015-06-30 17:22:11

标签: c# byte reverse mask bit

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

1338842

这与二进制相同:

101000110110111011010

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

010111001001000100101

基本上是整数:

758309

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

2 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:6)

按位运算符!

int value = 1338842;
int inversed = ~value;