Sobes.tech
Junior
267

Jak lze nastavit bit na 1 pomocí bitové operace NEBO?

Odpověď od AI

sobes.tech AI

Pro nastavení konkrétního bitu v čísle na 1 pomocí bitové operace OR je třeba použít masku, která má na požadované pozici 1 a na ostatních 0.

Například, pro nastavení bitu s číslem n (číslování od 0, začínající od nejméně významného bitu), postupujte takto:

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

Zde 1 << n posune jedničku na pozici n, a operace | nastaví tento bit v čísle num na 1, aniž by změnila ostatní bity.

Příklad:

int x = 4;      // 0100 v binárním tvaru
int y = setBit(x, 1); // nastavíme bit 1
// y bude 6 (0110)