program to reverse bits of an integer
#include<stdio.h> main() { int n,i,j,m,k; printf("enter n value\n"); scanf("%d",&n); printf("n=%d\n",n); for(i=31;i>=0;i--) printf("%d",(n>>i)&1?1:0); printf("\n"); for(i=31,j=0;i>j;i--,j++) { m=(n>>i)&1; k=(n>>j)&1; if(m^k) { n=n^(1<<i); n=n^(1<<j); } } printf("n=%d\n",n); for(i=31;i>=0;i--) printf("%d",(n>>i)&1?1:0); printf("\n"); }OutPut:
madan@madan-Lenovo-G570:~/madan$ cc ex53.c madan@madan-Lenovo-G570:~/madan$ ./a.out enter n value 15 n=15 00000000000000000000000000001111 n=-268435456 11110000000000000000000000000000