#include <stdio.h>
int swapbits(int x, int p1, int p2, int n)
{
unsigned int set1 = (x >> p1) & ((1<<n) -1) ;
unsigned int set2 = (x >> p2) & ((1<<n) - 1);
unsigned int xor = set1 ^ set2;
xor = (xor << p1) | (xor << p2);
unsigned int result = result ^ xor;
printf("\nresult = %d",result
);
return result;
}
int main(void) {
swapbits(28,0,3,2);
// your code goes here
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgc3dhcGJpdHMoaW50IHgsIGludCBwMSwgaW50IHAyLCBpbnQgbikKewp1bnNpZ25lZCBpbnQgc2V0MSA9ICh4ID4+IHAxKSAmICgoMTw8bikgLTEpCTsKCnByaW50ZigiXG5zZXQxID0gJWQiLHNldDEpOwp1bnNpZ25lZCBpbnQgc2V0MiA9ICh4ID4+IHAyKSAmICgoMTw8bikgLSAxKTsKcHJpbnRmKCJcbnNldDIgPSAlZCIsc2V0Mik7Cgp1bnNpZ25lZCBpbnQgeG9yID0gc2V0MSBeIHNldDI7CnByaW50ZigiXG54b3IgPSAlZCIseG9yKTsKeG9yID0gKHhvciA8PCBwMSkgfCAoeG9yIDw8IHAyKTsKcHJpbnRmKCJcbnhvciA9ICVkIix4b3IpOwoKdW5zaWduZWQgaW50IHJlc3VsdCA9IHJlc3VsdCBeIHhvcjsKcHJpbnRmKCJcbnJlc3VsdCA9ICVkIixyZXN1bHQpOwoKcmV0dXJuIHJlc3VsdDsKCn0KCmludCBtYWluKHZvaWQpIHsKCXN3YXBiaXRzKDI4LDAsMywyKTsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXJldHVybiAwOwp9Cg==