Java - 给出某些位模式位置,一定值

时间:2012-02-20 11:43:13

标签: java position

如果你有一个名为i的整数变量,它包含一个bitpattern ......

如何创建一个Java结构,使每个位都处于奇数位置,1作为值?

2 个答案:

答案 0 :(得分:2)

怎么样:

for(int x = 0; x < 32; x+=2) {
    i |= 1 << x;
}

甚至:

i |= 0x55555555;

答案 1 :(得分:0)

您可以使用类似的方法来设置或取消设置位:

public static int setBitOnInt(int i, int bit, boolean set) {
    if (set) {
        return i | (1 << bit);
    } else {
        return i & ~(1 << bit);
    }
}

要设置只需要调用的奇数位:

int myBitMask = 0;
for (int i=0; i<32; i+=2) {
    myBitMask = setBitOnInt(myBitMask, i, true);
}