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


0