Por cierto que significa la condicion esa: if(nump&(1<<i))
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
typedef struct TreintaydosBits {
unsigned bit0 : 1;
unsigned bit1 : 1;
unsigned bit2 : 1;
unsigned bit3 : 1;
unsigned bit4 : 1;
unsigned bit5 : 1;
unsigned bit6 : 1;
unsigned bit7 : 1;
unsigned bit8 : 1;
unsigned bit9 : 1;
unsigned bit10 : 1;
unsigned bit11 : 1;
unsigned bit12 : 1;
unsigned bit13 : 1;
unsigned bit14 : 1;
unsigned bit15 : 1;
unsigned bit16 : 1;
unsigned bit17 : 1;
unsigned bit18 : 1;
unsigned bit19 : 1;
unsigned bit20 : 1;
unsigned bit21 : 1;
unsigned bit22 : 1;
unsigned bit23 : 1;
unsigned bit24 : 1;
unsigned bit25 : 1;
unsigned bit26 : 1;
unsigned bit27 : 1;
unsigned bit28 : 1;
unsigned bit29 : 1;
unsigned bit30 : 1;
unsigned bit31 : 1;
} TreintaydosBits;
typedef union CuatroBytes {
long n;
TreintaydosBits b;
} CuatroBytes;
/**----- Prototipos -----**/
void ImprimeBitsdePixel(long);
int main(int argc, char** argv) {
CuatroBytes pixel;
// Todos los bits del pixel los ponemos a cero
pixel.n = 0;
printf("\nTodos los bits del pixel puestos a 0\n");
ImprimeBitsdePixel(pixel.n);
printf("\n");
pixel.b.bit10 = 1;
printf("\nPoner a 1 el bit menos significativo del canal Alfa (bit 24)\n");
ImprimeBitsdePixel(pixel.n);
return (EXIT_SUCCESS);
}
void ImprimeBitsdePixel(long nump) {
int i;
printf("\n+----------------+----------------+----------------+----------------+\n"
"| ALFA | ROJO | VERDE | AZUL |\n"
"+----------------+----------------+----------------+----------------+\n");
for (i = 0; i < 32; i++) {
printf("%ld ", nump);
if (i == 7 || i == 15 || i == 23) {
printf(" ");
}
}
}