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)
- ¿Puede la ciencia / psicología cognitiva ayudarlo a comprender otras áreas más rápidamente, como las matemáticas, la física y la informática?
- Ciencias de la computación teóricas: ¿Hay una prueba para: "La mejora personal recursiva es posible"?
- ¿Los ingenieros de software necesitan saber matemáticas?
- Las matemáticas se han desarrollado mucho en los primeros períodos, pero el desarrollo de la ciencia se retrasa. ¿Por qué?
- ¿Es necesario aprender matemáticas discretas y sus aplicaciones para comenzar la programación en Python?