2012-05-26 45 views
0

这个方法几乎是从java程序中复制的,但是我担心它不能像c#中的预期的那样工作,如果ID是一个字节,这是干什么的?这是什么C#的偏移方法呢?

public int getBit(int position) 
    { 
     return (ID >> (position - 1)) & 1; 
    } 
+0

http://stackoverflow.com/questions/141525/absolute-beginners-guide-to-bit-shifting/141873#141873 – Prix

回答

1

从ID中提取通过位置的位。
位置应该是1-8
返回位的值(0-1)

例如:

ID = 128; // 10000000 
getBit(8); // returns 1 

ID = 127; // 01111111 
getBit(8); // returns 0 
+0

行为在C#和Java中是相同的 –

1

返回非零值,如果在(位置1)的位为1,否则返回0