Dev - C++ - Mascara de bits

 
Vista:

Mascara de bits

Publicado por Shumaro (7 intervenciones) el 30/04/2020 20:42:06
Debo hacer que el numero 5603108 se imrprima en octetos en forma de bit, el numero es: 00000000 01010101 01111111 00100100, pero necesito que lo imprima en octetos, asi que el segundo renglon seria 00000000 01010101 00000000 00000000, para lo que necesito usar una mascara, lo cual desconozco como funcione.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include<stdio.h>
int main(int argc, char** argv)
{
    void despliegaBits(unsigned int);
    unsigned int numero =5603108, resultado =0, mascara = 0;
    resultado = numero;
    printf("El numero original es: ");
    despliegaBits(numero);
 
}
void despliegaBits(unsigned int valor)
{
    unsigned indice;    /* variable indice */
    unsigned int despliegaMascara = 1 <<31;
    /* define despliegaMascara y desplaza 31 bits hacia la izquierda */
 
    //printf( "\n%u = ",valor );
    putchar('\n');
    for( indice =1; indice <= 32; indice++)
    {
 
        putchar( valor & despliegaMascara ? '1' : '0');
        valor <<=1;
 
        if( indice % 8 ==0){
            putchar(' ');
        }
        if( indice % 32 ==0){
            putchar('\n');
        }
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Mascara de bits

Publicado por Nacho (181 intervenciones) el 30/04/2020 22:42:17
¿Y qué no entiendes?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar