Encuentra total del número de bits requerido para representar un número en binario en C ++

Aquí, vamos a aprender a encontrar el número de bits necesarios para representar un número usando C ++ programa .

declaración Problema:

Encuentra total de número de bits requerido para representar un número en binario

Ejemplo 1:

    input : 10
output: 4

Ejemplo 2:

    input  : 32
output : 6

Explicación:

input       Binary representation          count of bits
10 1010 4
32 100000 6

podemos recuento requerido número de bits para representar un número usar de muchas maneras; aquí estamos utilizando la técnica de manipulación de bits para hacer lo mismo.

Nosotros desplazamiento a la derecha ( & gt; & gt; ) un número por un lugar en cada iteración hasta llegar a cero como resultado. Y, el recuento total de desplazamiento a la derecha ( & gt; & gt; ) operación será nuestro resultado.

Ejemplo:

Let Number = 45 ( 101101 in binary)
shifting 45 to right by 1 place
45 >> 1 = ( 101101 ) >> 1 = ( 10110 ) = 22 in decimal
so n= 22 ( 10110 in binary )
Again shifting 22 to right by 1 place
22 >> 1 = ( 10110 ) >> 1 = ( 1011 ) = 11 in decimal
now n= 11
Again shifting 11 to right by 1 place
11 >> 1 = ( 1011 ) >> 1 = ( 101 ) = 5 in decimal
now n= 5
Again shifting 5 to right by 1 place
5 >> 1 = ( 101 ) >> 1 = ( 10 ) = 2 in decimal
now n=2
Again shifting 2 to right by 1 place
2 >> 1 = ( 10 ) >> 1 = ( 1 ) = 1 in decimal
now n=1
Again shifting 1 to right by 1 place
1 >> 1 = ( 1 ) >> 1 = ( 0 )= 0 in decimal
Here we got n=0
So we will stop.

Como u puede ver hemos utilizado un total de 6 operación de desplazamiento a la derecha (>>) para obtener 0, por lo que se requerirá 6 número de bits mínimas para representar un número en binario.

Programa:

#include<bits/stdc++.h>
using namespace std;
int countBits(int n)
{
int count=0;
// While loop will run until we get n = 0
while(n)
{
count++;
// We are shifting n to right by 1
// place as explained above
n=n>>1;
}
return count;
}
int main()
{
int n;
cout << "Enter any Numbern";
cin >> n;
int count=countBits(n);
cout << "Number of bits : " << count ;
return 0;
}

salida

Enter any Number
45
Number of bits : 6
Process returned 0 (0x0) execution time : 1.721 s
Press any key to continue.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *