¿Cómo funciona la fórmula para el bit de ajuste más a la derecha?

digamos que el bit k del lado derecho es el primer bit establecido en el número ‘x’. (x-1) alternará cada bit hasta el bit k desde el lado derecho. ~ (x-1) alternará cada bit en (x-1).
eventualmente, cada bit a la derecha de k se convertirá en 0 y cada bit a la izquierda de k se volverá diferente, lo que está en x y el número restante sería una potencia de 2 que tendrá un solo bit establecido.

por ejemplo :
x = 12 (1 100 )
(x-1) = 11 (1 011 ) [Cambiará cada bit hasta el bit enésimo. aquí k = 3 (desde la derecha)]
~ (x-1) = 4 (0 100 ) [cada bit a la derecha de la k es 0. Por lo tanto , si se le agrega x, cada bit se pondrá a la derecha en 0, también cada bit a su izquierda será 0 o 1, pero diferente de x, entonces esto hará que sean 0]

eventualmente x & ~ (x-1) = 4. (potencia de 2, solo 1 bit establecido)

More Interesting

¿Qué es 7/6 en binario?

¿Cómo sé cuándo usar números de coma flotante de precisión simple o doble?

¿Qué hace 'return 0' en este código a continuación?

Si la caja de sugerencias contiene lo siguiente, ¿cuál es la contraseña: 4 uvas, 1 manzana, 7 plátanos, 7 mangos, 2 piñas, 1 naranja, 8 granadas?

Si se le da un gráfico G no dirigido simple, ¿cómo podemos encontrar todas las subgrafías inducidas de G, que son gráficos de girasol, dentro de una cantidad de tiempo polinómica?

¿Cuál es el tipo de datos de optimización de memoria más apropiado en Matlab para importar un archivo de audio que tiene un valor máximo de 0.495971679687500 y el valor mínimo es -0.488983154296875?

¿Alguna vez eres totalmente experto en matemáticas?

¿Por qué los académicos se abstienen de escribir libros con la brevedad e intuición de las conferencias?

¿Qué estructura de datos se usa para calcular enteros muy largos, por ejemplo, el número primo más grande?

¿Cómo han afectado los métodos numéricos y la potencia informática en bruto a las matemáticas puras y la física teórica?

¿Existe un algoritmo eficiente para encontrar el primo más pequeño mayor que N?

Cómo abordar problemas de cobertura de conjuntos en la programación de enteros

Cómo calcular la suma: [matemáticas] S = 1 (1 \ veces 2) +2 (2 \ veces 3) + \ puntos + n (n \ veces (n + 1)) [/ matemáticas]

¿Qué es una explicación intuitiva de P = NP?

¿Por qué este programa da '0' como salida?