Sobes.tech
Junior

¿Cómo se puede establecer un bit en 1 usando la operación OR a nivel de bits?

sobes.tech AI

Respuesta de la IA

Para establecer un bit específico en un número a 1 mediante la operación OR a nivel de bits, se debe usar una máscara que tenga un 1 en la posición deseada y ceros en las demás.

Por ejemplo, para establecer el bit con el número n (numeración desde 0, comenzando desde el bit menos significativo), se hace así:

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

Aquí, 1 << n desplaza el uno a la posición n, y la operación | establece ese bit en el número num a 1, sin cambiar los demás bits.

Ejemplo:

int x = 4;      // 0100 en binario
int y = setBit(x, 1); // establecemos el bit 1
// y será 6 (0110)