2015-06-30 17 views
-1

我想問一下是否有一種有效的方法來反轉整數中的所有置位和未置位。 例如: 如果我有整數:使用C#整數的逆位#

1338842

這是二進制,因爲這是相同的:

101000110110111011010 

我怎樣才能逆這個所以每1位變成0位和每0位變爲1位。 顛倒的結果則應該是:

010111001001000100101 

這基本上是整數

758309 

可惜我不能證明我的嘗試,因爲我沒有任何。 我不知道該怎麼做。這就是爲什麼我希望董事會的人可以給我一些建議。

回答

7

這正是按位不操作符(~)所做的。

5

按位運算符!

int value = 1338842; 
int inversed = ~value;