This is for 32 bit, we need to change the size if we consider 8 bits.
This is for 32 bit, we need to change the size if we consider 8 bits. void bitReverse(int num) { int num_reverse = 0; int size = (sizeof(int)*8) -1; int i=0,j=0; for(i=0,j=size;i<=size,j>=0;i++,j--) { if((num >> i)&1) { num_reverse = (num_reverse | (1<<j)); } } printf("\n rev num = %d\n",num_reverse); } // reading Reading the input integer "num" in LSB->MSB order and storing in num_reverse in MSB->LSB order.