眾所周知、程序世界計算機中采用的是二進制,一個數字可以用任意進制表示。所以看一個數據值的同時。還要觀察它的進制、以免造成笑話。
此時。進制之間的轉換我也必然需要熟知、做到心中有數。下面愛Java就進制轉換為大家提供幾點參考.
分析:
- Java中在聲明數字時默認采用的是十進制,可以在數字前加上符號表示數字采用八進制【前面加0(零)】或者十六進制【前面加上0x(零x)】。
- Java的整型封裝類Integer和Long提供toString(int i,int radix)靜態方法,可以將一個任意進制的整數轉換為其他進制的整數。
- 使用Integer或Long的toBinaryString方法將整數轉換為二進制。
- 使用Integer或Long的toOctalString方法將整數轉換為八進制。
- 使用Integer或Long的toHexString方法將整數轉換為十六進制。
- 使用Integer或Long的toString(int i)方法可以將其他進制的整數轉換為十進制的整數的字符串表示。
1、Java 關鍵代碼舉例
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
int
n1 = 14;
//十進制轉成十六進制:
Integer.toHexString(n1);
//十進制轉成八進制
Integer.toOctalString(n1);
//十進制轉成二進制
Integer.toBinaryString(12);
//十六進制轉成十進制
Integer.valueOf("FFFF",16).toString();
//十六進制轉成二進制
Integer.toBinaryString(Integer.valueOf("FFFF",16));
//十六進制轉成八進制
Integer.toOctalString(Integer.valueOf("FFFF",16));
//八進制轉成十進制
Integer.valueOf("576",8).toString();
//八進制轉成二進制
Integer.toBinaryString(Integer.valueOf("23",8));
//八進制轉成十六進制
Integer.toHexString(Integer.valueOf("23",8));
//二進制轉十進制
Integer.valueOf("0101",2).toString();
//二進制轉八進制
Integer.toOctalString(Integer.parseInt("0101",
2));
//二進制轉十六進制
Integer.toHexString(Integer.parseInt("0101",
2));
|
2、Java中二、八、十、十六進制之間的轉換測試
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
private int i = 2010;
@Test
public void testInteger() {
System.err.println();
System.err.println("原始數據:" + i);
// 二進制轉換
System.err.println("==========整型——二進制轉換==========");
System.err.println("二進制:" + Integer.toBinaryString(i));
System.err.println("十進制:"
+ Integer.parseInt(Integer.toBinaryString(i), 2));
// 八進制轉換
System.err.println("==========整型——八進制轉換==========");
System.err.println("八進制:" + Integer.toOctalString(i));
System.err.println("十進制:"
+ Integer.parseInt(Integer.toOctalString(i), 8));
// 十六進制轉換
System.err.println("==========整型——十六進進制轉換==========");
System.err.println("十六進制:" + Integer.toHexString(i));
System.err.println("十進制:"
+ Integer.parseInt(Integer.toHexString(i), 16));
}
@Test
public void testLong() {
System.err.println();
System.err.println("原始數據:" + i);
// 二進制轉換
System.err.println("==========長整型——二進制轉換==========");
System.err.println("二進制:" + Long.toBinaryString(i));
System.err.println("十進制:" + Long.parseLong(Long.toBinaryString(i), 2));
// 八進制轉換
System.err.println("==========長整型——八進制轉換==========");
System.err.println("八進制:" + Long.toOctalString(i));
System.err.println("十進制:" + Long.parseLong(Long.toOctalString(i), 8));
// 十六進制轉換
System.err.println("==========長整型——十六進進制轉換==========");
System.err.println("十六進制:" + Long.toHexString(i));
System.err.println("十進制:" + Long.parseLong(Long.toHexString(i), 16));
|
