反转一个二进制数并输出反转之后二进制的十进制值是多少。
用一个数组记录二进制反转之后的二进制值并根据二进制的定义构造反转之后的十进制值。
package InnerClass;
public class T {
public static void main(String[] args) {
test();
}
/**
* 反转二进制数并输出结果的十进制值是多少
*/
public static void test() {
int d = 10;
int len = Integer.toBinaryString(d).length();
int b[] = new int[len];
int index = 0;
while (d != 0) {
b[index++] = d & 0x01;
d >>= 1;
}
int c = 0;
d = 0;
while (c < len) {
d = d * 2 + b[c];
c++;
}
System.out.println(d);
}
}