文章字数:442,阅读全文大约需要1分钟
2^n|10进制值|2进制
—|—|—:
1|2|10
2|4|100
3|8|1000
4|16|10000
5|32|100000
6|64|1000000
7|128|10000000
8|256|100000000
9|512|1000000000
10|1024|10000000000
11|2048|100000000000
12|4096|1000000000000
13|8192|10000000000000
14|16384|100000000000000
15|32768|1000000000000000
16|65536|10000000000000000
17|131072|100000000000000000
18|262144|1000000000000000000
19|524288|10000000000000000000
20|1048576|100000000000000000000
生成算法
1 2 3 4 5 6 7 8 9 10
| public static void main(String[] args) { final int MAX_POW = 20; System.out.println("2^n|10进制值|2进制"); System.out.println("---|---|---:"); for (int i = 1; i <= MAX_POW; i++) { int radix10 = Double.valueOf(Math.pow(2, i)).intValue(); System.out.print(i + "|" + radix10); System.out.println("|`" + Integer.toString(radix10, 2) + "`"); } }
|
进制转换
Integer
类提供了方法,可以把任意进制的数转换成Integer
类型的值。也可以将Integer
输出成任意进制。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public static void main(String[] args) { int initVal = 12354; String radix2 = Integer.toString(initVal, 2); String radix10 = Integer.toString(initVal, 10); String radix16 = Integer.toString(initVal, 16); Integer fromRadix2 = Integer.valueOf(radix2, 2); Integer fromRadix10 = Integer.valueOf(radix10, 10); Integer fromRadix16 = Integer.valueOf(radix16, 16); System.out.println("radix2 = " + radix2); System.out.println("radix10 = " + radix10); System.out.println("radix16 = " + radix16); System.out.println("fromRadix2 = " + fromRadix2); System.out.println("fromRadix10 = " + fromRadix10); System.out.println("fromRadix16 = " + fromRadix16); }
|
运行结果
1 2 3 4 5 6
| radix2 = 11000001000010 radix10 = 12354 radix16 = 3042 fromRadix2 = 12354 fromRadix10 = 12354 fromRadix16 = 12354
|