#include <stdio.h>
#include <stdio.h>
unsigned invertbits(unsigned x,int p,int n);
void binaryprint(unsigned x);
int main(void) {
binaryprint((unsigned)14);
printf("\n");
binaryprint((~( ~0 << 2) << ((3+1) - 2) ));
printf("\n");
binaryprint( invertbits((unsigned)14, 3, 2));
}
unsigned invertbits(unsigned x,int p,int n){
return x ^ (~( ~0 << n) << ((p+1) - n) );
}
void binaryprint(unsigned x){
int i, ch;
for(i = ((sizeof x) * 8) - 1; i >=0; i--){
ch = (x >> i) & 1;
printf("%d", ch);
}
}