Java - дать определенные позиции в битрейте, определенное значение - PullRequest
0 голосов
/ 20 февраля 2012

Если у вас есть целочисленная переменная с именем i, которая содержит битовый шаблон ...

Как вы можете создать структуру Java, которая дает каждый бит, который находится в нечетной позиции, 1 в качестве значения?

Ответы [ 2 ]

2 голосов
/ 20 февраля 2012

Как насчет:

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

или даже:

i |= 0x55555555;
0 голосов
/ 20 февраля 2012

Вы можете использовать подобный метод для установки или сброса битов:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...