Quick actions

cmd+k|ctrl+k

Navigation

Languages

invertbits.c

Snippet info

Language

C

Visibility

public

Author

lutiick

Created

2018-02-09T10:06:56Z

Updated

2018-02-09T10:07:38Z

#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);
    }
}
INFO