/* Napisati funkciju koja za dva data broja x i y invertuje u podatku x one bitove koji se poklapaju sa odgovarajucim bitovima u broju y. Ostali bitovi ostaju nepromenjeni. */ #include void print_bits(int x) { char c; unsigned mask=1; int velicina=sizeof(int)*8; mask= mask<<(velicina-1); while(mask!=0) { c= mask & x ? '1':'0'; putchar(c); mask>>=1; } putchar ('\n'); } int invert(int x, int y) { unsigned maska; for(maska = 1; maska; maska <<= 1) if((x & maska) == (y & maska)) x ^= maska; return x; } int main () { int x,y; printf("Unesite brojeve x i y:\n"); scanf("%d%d",&x,&y); printf("Broj x, binarno:\n"); print_bits(x); printf("Broj y, binarno:\n"); print_bits(y); x=invert(x,y); printf("BINARNO - Broj x, posle invertovanja:\n"); print_bits(x); printf("DEKADNO - Broj x, posle invertovanja:\n"); printf("%u\n", x); return 0; }