Junior
Hogyan lehet egy bitet 1-re állítani bitenkénti OR művelettel?
sobes.tech MI
Válasz az MI-től
Egy adott bitet 1-re állítani egy számban bit szinten az OR művelettel, egy maszkkal kell dolgozni, amely a kívánt pozícióban 1-es, a többi bitben pedig 0.
Például, a n számú bit (0-tól kezdődően, a legkisebb helyiértékű bit-től kezdve) beállításához így járunk el:
int setBit(int num, int n) {
return num | (1 << n);
}
Itt, az 1 << n eltolja az 1-et az n pozícióba, és az | művelet ezt a bitet 1-re állítja a num számban, anélkül, hogy a többi bitet módosítaná.
Példa:
int x = 4; // 0100 binárisan
int y = setBit(x, 1); // beállítjuk az 1-es bitet
// y értéke 6 lesz (0110)