You mean like this?
Code:
#include <stdio.h>
void show_num_as_bin(unsigned int num, int startbit, int endbit)
{
int bit;
for(bit = endbit-1;bit >= startbit-1;bit--)
printf("%d", num & (1 << bit) ? 1 : 0);
printf("\n");
}
int main(void)
{
unsigned int num = 0x7a348734;
int groups[] = { 6, 10, 5, 5, 6 };
int i, start = 1;
show_num_as_bin(num, 1, 32);
for(i = 0;i < 5;++i)
{
show_num_as_bin(num, start, start + groups[i] - 1);
start += groups[i];
}
return 0;
}
itsme@itsme:~/C$ ./bit
01111010001101001000011100110100
110100
1000011100
10100
10001
011110
itsme@itsme:~/C$