Java基于字符串的进制转换(2、8、16进制与10进制的相互转换) 您所在的位置:网站首页 10进制转16进制的代码 Java基于字符串的进制转换(2、8、16进制与10进制的相互转换)

Java基于字符串的进制转换(2、8、16进制与10进制的相互转换)

2024-07-17 01:43| 来源: 网络整理| 查看: 265

# 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)");

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有