unsigned int n_bits; unsigned char mask; n_bits = 5; // default is 5 bits per word if (argc > XX) { sscanf(argv[XX],"%d",&n_bits); } if (n_bits == XX) mask = 0x0f; // want 4 LSB: 00001111 if (n_bits == XX) mask = XXX; // want 6 LSB: 00111111