#include #include #include void ver_binario(unsigned int num){ int i; for(i=sizeof(unsigned int)*8-1; i>=0;i--) printf("%d", (num >> i) & 1); printf("\n"); } int main(int argc, char* argv[]){ int num, a, b; unsigned int mask; if (argc<4) { printf("faltan parametros en la entrada\n"); return 0; } num=atoi(argv[1]); a=atoi(argv[2]); b=atoi(argv[3]); if ((a<0) || (b>sizeof(int)*8-1) || (a>b)) { printf("Los argumentos deben estar entre 0 y 31 y 'a' debes ser menor igual a 'b' \n"); } else { mask = ~0; mask = mask << a & mask >> (8*sizeof(unsigned int) - b - 1); ver_binario(mask & num); } return 0; }