1. 程式人生 > >機試:反轉一個二進位制數並輸出反轉之後二進位制的十進位制值是多少

機試:反轉一個二進位制數並輸出反轉之後二進位制的十進位制值是多少

反轉一個二進位制數並輸出反轉之後二進位制的十進位制值是多少。

用一個數組記錄二進位制反轉之後的二進位制值並根據二進位制的定義構造反轉之後的十進位制值。

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);
	}
}