Sobes.tech
Junior

Kaip nustatyti bitą į 1 naudojant bitų aritmetinę operaciją?

sobes.tech AI

Atsakymas iš AI

Norint nustatyti konkretų bitą į 1 naudojant bitinę OR operaciją, reikia naudoti kaukę, kurioje norimoje pozicijoje yra 1, o likusiuose bituose 0.

Pavyzdžiui, norint nustatyti bitą numeriu n (skaičiavimas prasideda nuo 0, pradedant nuo mažiausiai reikšmingo bito), tai darome taip:

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

Čia 1 << n perkelia vienetą į poziciją n, o operacija | nustato šį bitą num skaičiuje į 1, nekeisdama kitų bitų.

Pavyzdys:

int x = 4;      // 0100 dvejetainėje formoje
int y = setBit(x, 1); // nustatome bitą 1
// y bus 6 (0110)