这个c#bitshifting方法有什么作用?

时间:2012-05-26 19:44:35

标签: c# byte bitwise-operators

这个方法几乎是从java程序中复制出来的,但是我担心它在c#中无法正常工作 如果ID是一个字节,这会做什么?

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

2 个答案:

答案 0 :(得分:1)

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

例如:

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

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

答案 1 :(得分:1)

如果(position-1)处的位为1,则返回非零,否则返回0