Capitalizing the first letter of every single word makes your sentences harder to read.
>I Have Thought Of Shift, Shift-rotate Etc But Can't Figure Out How To Do It
You're probably trying to do it in-place and that's confusing you. Try building a whole new value by ORing the least significant bit into the new value, shifting the new value left and trimming the least significant bit from the old value:
#include <limits.h>
#include <stddef.h>
#define NBITS(x) ( sizeof (x) * CHAR_BIT )
int reverse_bits ( unsigned value )
{
unsigned int rv = value;
size_t n = NBITS ( value ) - 1;
while ( ( value >>= 1U ) != 0 ) {
rv = ( rv << 1U ) | ( value & 1U );
--n;
}
return rv << n;
}