题目描述
pzzer从不放弃任何一丝希望,只要有希望都想来个大逆袭,不过这次是想把一个无符号数x的位逆转过来,如10进制19(10011)倒转过来后就成为(11001)25.现在问题来了,就是输入个无符号数,要你求得位倒转过来的数。(0<x<=2^32-1)
输入
多组测试数据,每组包括一个无符号正整数
输出
输出逆转后的数
样例输入
19
12
样例输出
25
3
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while(cin.hasNext()){
long n=cin.nextLong();
String str=Long.toString(n,2);
StringBuffer s=new StringBuffer(str).reverse();
long m=Long.parseLong(String.valueOf(s),2);
System.out.println(m);
}
cin.close();
}
}