package com.interview.bits;
/**
* http://www.geeksforgeeks.org/write-an-efficient-c-program-to-reverse-bits-of-a-number/
*/
public class ReverseBits {
public int reverse(int num){
//assuming int is 32 bits.
int result = 0;
int r1 = 1;
for(int i=31; i >= 0; i--,r1<<=1){
if((num & 1<<i) != 0){
result = result | r1;
}
}
return result;
}
public static void main(String args[]){
ReverseBits rb = new ReverseBits();
System.out.println(rb.reverse(418));
}
}