"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Programa PHP para contar bits establecidos en un número entero

Programa PHP para contar bits establecidos en un número entero

Publicado el 2024-08-29
Navegar:911

¿Qué es el código binario?

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.

Ejemplo

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.

¿Qué es Setbit?

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).

Programa PHP para contar bits establecidos en un número entero

PHP Program to Count set Bits in an Integer

Método 1: recorrer todos los bits en un número entero

Ejemplo

>= 1;
	}
	return $count;
}

// Driver Code
$number= 12;
echo "Number of setbits in $number: " .countSetBits($number);
?>

Producción

Number of setbits in 12: 2

Método 2: enfoque recursivo

> 1);
}

// Driver code

// get value from user
$n = 123;

// function calling
echo "Number of setbits in $n are: ".countSetBits($n);
?>

Producción

Number of setbits in 123 are: 6

Conclusión

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.

Declaración de liberación Este artículo se reproduce en: https://www.tutorialspoint.com/php-program-to-count-set-bits-in-an-integer Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

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