Quick actions

cmd+k|ctrl+k

Navigation

Languages

setbits.c

Snippet info

Language

C

Visibility

public

Author

lutiick

Created

2018-02-05T18:13:49Z

Updated

2018-02-09T10:07:51Z

#include <stdio.h>
unsigned setbits(unsigned x,int p,int n,unsigned y);
void bynaryprint(unsigned x);
int main(void) {
    bynaryprint( setbits((unsigned)12, 3, 2, (unsigned)57));
}
unsigned setbits(unsigned x,int p,int n,unsigned y){
    return  (( y & ~(~0 << n) ) << ((p + 1) - n) ) | (x & ~(~(~0 << n) << (p+1-n)));
}
void bynaryprint(unsigned x){
    int i, ch;
    for(i = ((sizeof x) * 8) - 1; i >=0; i--){
        ch = (x >> i) & 1;
        printf("%d", ch);
    }
}
INFO