[C con Clase] En formato binario

Programante programante en gmail.com
Mie Dic 3 18:29:45 CET 2008


Reinel Hernadez Peraza escribió:
> Hola amigos.
> Sólo para no inventar la rueda, pregunto, es posible imprimir cada byte
> en
> forma binaria, quiero decir, una cadena de 0 y 1 solamente. Sé que printf
> me permite mostrar valores hexadecimales y decimales. ¿Existe algo para
> lo
> que deseo, o tendré que hacer una rutina que lo haga?
>
> Gracias de antemano. Reinel.

No hay una función estándar, pero es sencilla de hacer:

void ImprimeBinario(const char* bytes, size_t num_bytes) {
    size_t i; int j;
    for (i=0; i < num_bytes; i++) {
         for (j = 7; j >= 0; j--) {
             if ( bytes[i] & (1 << j) )
                printf("1");
             else
                 printf("0");
         }
         printf(" ");
    }
}





Más información sobre la lista de distribución Cconclase