#include main(argc,argv) int argc; char *argv[]; { int f,l,r; unsigned int c; char *binary(); if(argc==1) { printf("%s: usage %s string1 [..stringn] | -c num1 [.. num n]\n", argv[0],argv[0]); exit(-1); } if(strcmp(argv[1],"-c")) { for(r=1;r 31) ? (*(argv[r]+f)) : '?') ,c,c,binary(c,8)); } } } else { if(argc==2) { printf("%s:usage %s -c num1 [.. num n]\n",argv[0],argv[0]); exit(-1); } for(f=2;f31) ? (char)c : '?', c,c,binary(c,8)); } } } char *binary(i,w) unsigned int i,w; { static char buff[1024],*p; unsigned int c=w,b=1<<(w-1); p=buff; for(;c--;b=b>>1) if(i&b) *p++='1'; else *p++='0'; *p='\0'; return(buff); }