# 2,8,16進制轉換成10進制
(1).使用Integer.parseInt()方法;轉換成負數只需要在字符串前加上負號-;大於Integer.MAX_VALUE或小於Integer.MIN_VALUE的轉換將會拋出錯誤。

// 2,8,16進制轉換成10進制 // 使用Integer.parseInt()方法;轉換成負數只需要在字符串前面加上負號-;大於Integer.MAX_VALUE或小於Integer.MIN_VALUE的轉換將會拋出錯誤。 int b = Integer.parseInt("1001", 2); // 2進制轉10進制 int o = Integer.parseInt("12", 8); // 8進制轉10進制 int h = Integer.parseInt("123ABC", 16); // 16進制轉10進制 System.out.println("=== 字符串2,8,16進制轉換成整型10進制 ==="); System.out.println("1001(2) --> " + b + "(10)"); System.out.println("12(8) --> " + o + "(10)"); System.out.println("123ABC(16) --> " + h + "(10)");

(2).使用Integer.valueOf()方法;轉換成負數只需要在字符串前加上負號-;大於Integer.MAX_VALUE或小於Integer.MIN_VALUE的轉換將會拋出錯誤。

// 2,8,16進制轉換成10進制 // 使用Integer.valueOf()方法;轉換成負數只需要在字符串前加上負號-;大於Integer.MAX_VALUE或小於Integer.MIN_VALUE的轉換將會拋出錯誤。 Integer b = Integer.valueOf("1001", 2); // 2進制轉10進制 Integer o = Integer.valueOf("12", 8); // 8進制轉10進制 Integer h = Integer.valueOf("123ABC", 16); // 16進制轉10進制 System.out.println("=== Integer.valueOf() 字符串2,8,16進制轉換成整型10進制 ==="); System.out.println("1001(2) --> " + b + "(10)"); System.out.println("12(8) --> " + o + "(10)"); System.out.println("123ABC(16) --> " + h + "(10)");

(3).基於BigInteger的進制轉換,能夠存儲比Long.MAX_VALUE更大的數;

// 2,8,16進制轉換成10進制 // 使用BigInteger對象;轉換成負數只需要在字符串前加上負號-;BigInteger能夠存儲比Long.MAX_VALUE更大的數; BigInteger b = new BigInteger("1001", 2); // 2進制轉10進制 BigInteger o = new BigInteger("12", 8); // 8進制轉10進制 BigInteger h = new BigInteger("123ABC", 16);// 16進制轉10進制 System.out.println("=== 基於BigInteger的進制轉換 字符串2,8,16進制轉換成整型10進制 ==="); System.out.println("1001(2) --> " + b + "(10)"); System.out.println("12(8) --> " + o + "(10)"); System.out.println("123ABC(16) --> " + h + "(10)");

# 10進制轉2,8,16進制,返回類型String
(1).

// 10進制轉2,8,16進制,返回類型String String tb = Integer.toBinaryString(9); // 10進制轉2進制 String to = Integer.toOctalString(10); // 10進制轉8進制 String th = Integer.toHexString(1194684); // 10進制轉16進制 System.out.println("=== 10進制轉2,8,16進制,返回類型String ==="); System.out.println("9(10) --> " + tb + "(2)"); System.out.println("10(10) --> " + to + "(8)"); System.out.println("1194684(10) --> " + th + "(16)");

(2).使用Integer.toString() 10進制轉2,8,16進制;返回類型String

// 10進制轉2,8,16進制,返回類型String // 使用Integer.toString()方法; String tb = Integer.toString(9, 2); // 10進制轉2進制 String to = Integer.toString(10, 8); // 10進制轉8進制 String th = Integer.toString(1194684, 16);// 10進制轉16進制 System.out.println("=== 使用Integer.toString() 10進制轉2,8,16進制;返回類型String ==="); System.out.println("9(10) --> " + tb + "(2)"); System.out.println("10(10) --> " + to + "(8)"); System.out.println("1194684(10) --> " + th + "(16)");

(3).基於BigInteger的進制轉換

// 使用BigInteger對象的toString方法;10進制轉2,8,16進制,返回類型String BigInteger b = new BigInteger("1001", 2); // 2進制轉10進制 BigInteger o = new BigInteger("12", 8); // 8進制轉10進制 BigInteger h = new BigInteger("123ABC", 16);// 16進制轉10進制 String tb = b.toString(2); // 10進制轉2進制 String to = o.toString(8); // 10進制轉8進制 String th = h.toString(16); // 10進制轉16進制 System.out.println("1001(2) --> " + b + "(10) --> " + tb + "(2)"); System.out.println("12(8) --> " + o + "(10) --> " + to + "(8)"); System.out.println("123ABC(16) --> " + h + "(10) --> " + th + "(16)");

