El código binario es un sistema de representación de información o datos utilizando un sistema numérico de base 2. Utiliza sólo dos dígitos, normalmente 0 y 1, para representar todos los valores. Cada dígito en un código binario se llama bit (abreviatura de dígito binario).
En código binario, cada dígito representa una potencia de 2. Comenzando desde el dígito más a la derecha, las potencias de 2 aumentan de derecha a izquierda. Por ejemplo, en un código binario de 8 bits, el bit más a la derecha representa 2^0 (1), el siguiente bit representa 2^1 (2), el siguiente representa 2^2 (4), y así sucesivamente.
Tomemos el número decimal 42 y representémoslo en código binario. Para convertir 42 a binario, lo dividimos sucesivamente entre 2 y llevamos la cuenta de los restos hasta que el cociente sea cero.
Aquí está el proceso paso a paso:
Paso 1
42 ÷ 2 = 21, resto 0
Paso 2
21 ÷ 2 = 10, resto 1
Paso 3
10 ÷ 2 = 5, resto 0
Paso 4
5 ÷ 2 = 2, resto 1
Paso 5
2 ÷ 2 = 1, resto 0
Paso 6
1 ÷ 2 = 0, resto 1
Para obtener la representación binaria, comenzamos desde abajo (último resto) y leemos los restos de abajo hacia arriba.
El código binario resultante para 42 es: 101010
Entonces, el número decimal 42 se representa como 101010 en código binario.
En el contexto del código binario, un bit establecido se refiere a un dígito binario (bit) que se establece en el valor de 1. Por otro lado, un bit claro se refiere a un dígito binario que se establece en el valor de 0.
Ejemplo
Por ejemplo, en el código binario 101010, hay tres bits establecidos (correspondientes a las posiciones con un valor de 1) y tres bits claros (correspondientes a las posiciones con un valor de 0).
>= 1; } return $count; } // Driver Code $number= 12; echo "Number of setbits in $number: " .countSetBits($number); ?>
Number of setbits in 12: 2
> 1); } // Driver code // get value from user $n = 123; // function calling echo "Number of setbits in $n are: ".countSetBits($n); ?>
Number of setbits in 123 are: 6
En conclusión, podemos contar los bits establecidos (1) en un número entero usando un enfoque recursivo y un bucle a través de todos los bits en PHP. El enfoque de bucle implica iterar a través de cada bit del número entero utilizando un bucle while. Inicializamos una variable de contador y la iteramos hasta que el número se convierte en 0. Dentro del ciclo, usamos AND bit a bit con 1 para verificar el bit menos significativo. Si es igual a 1, incrementamos el contador. Luego, desplazamos el número a la derecha 1 bit. Este proceso continúa hasta que se hayan verificado todos los bits y se devuelva el recuento final.
Para el enfoque recursivo, podemos definir una función recursiva que toma un número entero como entrada. Dentro de la función, verificamos el bit menos significativo usando el operador AND bit a bit con 1. Si es igual a 1, incrementamos un contador. Luego, desplazamos el número a la derecha 1 bit y llamamos recursivamente a la función con el número actualizado. El caso base es cuando el número se convierte en 0, momento en el que devolvemos el contador. Este enfoque cuenta recursivamente los bits establecidos hasta que el número llega a 0. Ambos enfoques proporcionan una manera de contar los bits establecidos en un número entero, lo que permite diferentes opciones de implementación basadas en las necesidades y preferencias específicas del programador.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3