2012-01-03 79 views
-4

就可以把它分解:如何分割這個位?

int n = 1 | 2; 

int a = n ?? // returns 1 
int b = n ?? // returns 2 
+3

你想完成什麼?你的問題不清楚。 'int n = 1 | 2;'完全等同於'int n = 3;'。請澄清你的問題。 – 2012-01-03 18:05:05

回答

4

好了,你可以使用:

int a = n & 1; 
int b = n & 2; 

如果1和2的值只有這很好其中將會一起被OR-ed ......但這是不是真的很明確。你還沒有顯示其他值n可能有。

3
int n = ...; 
int a = n & 1; // returns 1 or 0 
int b = n & 2; // returns 2 or 0