Sobes.tech
Junior

Как да зададете бит на 1, използвайки битовата операция ИЛИ?

sobes.tech AI

Отговор от AI

За да зададете конкретен бит в число на 1 с помощта на битова операция ИЛИ (OR), трябва да използвате маска, която има 1 на желаната позиция, а останалите бита са 0.

Например, за да зададете бит с номер n (нумерацията започва от 0, от най-малко значимия бит), направете следното:

int setBit(int num, int n) {
    return num | (1 << n);
}

Тук, 1 << n преместват единицата на позиция n, а операцията | задава този бит в числото num на 1, без да променя останалите бита.

Пример:

int x = 4;      // 0100 в двоичен вид
int y = setBit(x, 1); // задаваме бит 1
// y ще бъде 6 (0110)