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 34 35 36 37 38 39 40 41 42 43 | #include <stdio.h> typedef struct _byte { /* Estructuramos 8 bits para un Byte */ unsigned a: 1; unsigned b: 1; unsigned c: 1; unsigned d: 1; unsigned e: 1; unsigned f: 1; unsigned g: 1; unsigned h: 1; } byte; typedef union _charbits { /* Unimos un char(caracter) con un Byte */ char ch; byte bits; } charbits; void decode(byte b)/* Esta funcion decodifica el char en 8 bits */ { printf("%2u%2u%2u%2u%2u%2u%2u%2u ",b.h,b.g,b.f,b.e,b.d,b.c,b.b,b.a); } void readString(const char *str)/* Esta funcion simplemente lee la string como un array de punteros a char y los decodifica char a char con la funcion de arriba*/ { charbits word; while(*str) { word.ch = *str; decode(word.bits); *str++; } printf("\n"); } int main(int argv,char **argc) /* Iniciamos el main */ { if (argv > 1) readString(argc[1]); else printf( "Uso : %s <Palabra>",argc[0]); return 0; } |
Para compilar metemos el codigo en un archivo por ejemplo:
decode.c
Y compilamos:
gcc -o decode decode.c
./decode "Tiempo de Tux"
0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0
Eso es todo.
No hay comentarios.:
Publicar un comentario
Los comentarios serán revisados antes de ser publicados.