Java进制转换总结:从十进制到任意进制的转换技巧分享

 更新时间:2026年09月04日 10:14:13   作者:无忧#  
还在为Java进制转换发愁吗?本文详细讲解十进制转其他进制的Integer.toString和BigInteger.toString方法,以及其他进制转十进制的Integer.parseInt和BigInteger构造方法,并通过A进制转B进制的实战思路帮你彻底掌握进制转换,代码示例清晰,一看就会

十进制转其他进制

使用 Integer.toString(int n,int radix) 方法,该方法第一个参数是需要进行进制转换的数(int),第二个参数是需要进行转换的进制(int),返回的是一个Integer类型的数。

        //十进制转其他进制
        System.out.println("十进制转其他进制");
        int n=200;
        System.out.println(n+"的二进制是:"+Integer.toString(n,2));
        System.out.println(n+"的八进制是:"+Integer.toString(n,8));
        System.out.println(n+"的十进制是:"+Integer.toString(n,10));
        System.out.println(n+"的十六进制是:"+Integer.toString(n,16));

使用 BigInteger(String num).toString(int radix) 方法,

该方法第一个参数是需要进行进制转换的数(String),第二个参数是需要进行转换的进制(int),返回的是一个String类型的字符串。

        // 使用BigInteger对象;转换成负数只需要在字符串前加上负号-;BigInteger能够存储比Long.MAX_VALUE更大的数;
        String num="200";
        String s1=new BigInteger(num).toString(2);
        String s2=new BigInteger(num).toString(8);
        String s3=new BigInteger(num).toString(10);
        String s4=new BigInteger(num).toString(16);
        System.out.println(num+"的二进制是:"+s1);
        System.out.println(num+"的八进制是:"+s2);
        System.out.println(num+"的十进制是:"+s3);
        System.out.println(num+"的十六进制是:"+s4);
        System.out.println("——————————————————————————————————————————");

其他进制转十进制

使用 Integer.parseInt(String s , int radix) 方法,

该方法第一个参数是需要进行进制转换的数(String),

第二个参数是需要进行转换的进制(int),返回的是一个Integer类型的数。

        String s1="11001000";
        String s2="310";
        String s3="200";
        String s4="c8";
        System.out.println("二进制数"+s1+"的十进制是:"+Integer.parseInt(s1,2));
        System.out.println("八进制数"+s2+"的十进制是:"+Integer.parseInt(s2,8));
        System.out.println("十进制数"+s3+"的十进制是:"+Integer.parseInt(s3,10));
        System.out.println("十六进制数"+s4+"的十进制是:"+Integer.parseInt(s4,16));

 使用 new BigInteger(String val, int radix) 方法,

该方法第一个参数是需要进行进制转换的数(String),

第二个参数是需要进行转换的进制(int),返回的是一个BigInteger类型的数。

        //其他进制转十进制
        BigInteger b1 = new BigInteger("11001000", 2);
        BigInteger b2 = new BigInteger("310", 8);
        BigInteger b3 = new BigInteger("200", 10);
        BigInteger b4 = new BigInteger("c8", 16);
        System.out.println("二进制数11001000的十进制是:"+b1);
        System.out.println("八进制数310的十进制是:"+b2);
        System.out.println("十进制数200的十进制是:"+b3);
        System.out.println("十六进制数c8的十进制是:"+b4);
        System.out.println("——————————————————————————————————————————");

实战:A进制转B进制

思路:

将A进制数转化为十进制数,再将10进制数转化为B进制数

public class Main {
    public static void main(String[] args) {
          //十进制转其他进制
//        System.out.println("十进制转其他进制");
//        int n=200;
//        System.out.println(n+"的二进制是:"+Integer.toString(n,2));
//        System.out.println(n+"的八进制是:"+Integer.toString(n,8));
//        System.out.println(n+"的十进制是:"+Integer.toString(n,10));
//        System.out.println(n+"的十六进制是:"+Integer.toString(n,16));
//        System.out.println("——————————————————————————————————————————");

        //其他进制转十进制
//        System.out.println("其他进制转十进制");
//        String s1="11001000";
//        String s2="310";
//        String s3="200";
//        String s4="c8";
//        System.out.println("二进制数"+s1+"的十进制是:"+Integer.parseInt(s1,2));
//        System.out.println("八进制数"+s2+"的十进制是:"+Integer.parseInt(s2,8));
//        System.out.println("十进制数"+s3+"的十进制是:"+Integer.parseInt(s3,10));
//        System.out.println("十六进制数"+s4+"的十进制是:"+Integer.parseInt(s4,16));
//        System.out.println("——————————————————————————————————————————");
//
        //八进制转十六进制
        System.out.println("八进制转十六进制");
        String s8="310";//八进制数
        int num8=Integer.parseInt(s8,8);//先将八进制数转化为十进制数
        System.out.println("八进制数"+s8+"转换为十六进制数是:"+Integer.toString(num8,16));
        //十六进制转二进制
        System.out.println("十六进制转二进制");
        String s16="c8";//十六进制数
        int num16=Integer.parseInt(s16,16);//先将十六进制数转化为十进制数
        System.out.println("十六进制数"+s16+"转换为二进制数是:"+Integer.toString(num16,2));
        System.out.println("——————————————————————————————————————————");
    }
}
import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
//        String num="200";
//        String s1=new BigInteger(num).toString(2);
//        String s2=new BigInteger(num).toString(8);
//        String s3=new BigInteger(num).toString(10);
//        String s4=new BigInteger(num).toString(16);
//        System.out.println(num+"的二进制是:"+s1);
//        System.out.println(num+"的八进制是:"+s2);
//        System.out.println(num+"的十进制是:"+s3);
//        System.out.println(num+"的十六进制是:"+s4);
//        System.out.println("——————————————————————————————————————————");
//
           //其他进制转十进制
          //使用BigInteger对象;转换成负数只需要在字符串前加上负号-;BigInteger能够存储比Long.MAX_VALUE更大的数;
//        BigInteger b1 = new BigInteger("11001000", 2);
//        BigInteger b2 = new BigInteger("310", 8);
//        BigInteger b3 = new BigInteger("200", 10);
//        BigInteger b4 = new BigInteger("c8", 16);
//        System.out.println("二进制数11001000的十进制是:"+b1);
//        System.out.println("八进制数310的十进制是:"+b2);
//        System.out.println("十进制数200的十进制是:"+b3);
//        System.out.println("十六进制数c8的十进制是:"+b4);
//        System.out.println("——————————————————————————————————————————");

        BigInteger b8 = new BigInteger("310", 8);
        System.out.println("八进制数310的十六进制是:"+b8.toString(16));
        BigInteger b16 = new BigInteger("c8", 16);
        System.out.println("十六进制数c8的二进制是:"+b16.toString(2));
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java常见的限流方案及实现方法

    Java常见的限流方案及实现方法

    高并发场景中限流是保护系统的重要手段,涵盖计数器、滑动窗口、漏桶、令牌桶等算法,这篇文章主要介绍了Java常见的限流方案及实现的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-05-05
  • 如何使用Java调用Linux系统命令

    如何使用Java调用Linux系统命令

    这篇文章主要介绍了如何使用Java调用Linux系统命令,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java应该在哪里判断List是否为空

    Java应该在哪里判断List是否为空

    在Java中,我们常用List来存储数据,但是我们怎么判断它是否成功带来了我们需要的数据呢?下面这篇文章主要给大家介绍了关于Java应该在哪里判断List是否为空的相关资料,需要的朋友可以参考下
    2022-02-02
  • Java实现插入排序实例

    Java实现插入排序实例

    这篇文章主要介绍了Java实现插入排序,实例分析了Java的插入排序原理与实现技巧,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • Java 是如何利用接口避免函数回调的方法

    Java 是如何利用接口避免函数回调的方法

    本篇文章主要介绍了Java 是如何利用接口避免函数回调的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 使用idea开发Servlet详细图文教程

    使用idea开发Servlet详细图文教程

    这篇文章主要给大家介绍了关于使用idea开发Servlet的相关资料,将idea添加servlet的过程其实非常简单,只需要按照以下几个步骤即可完成,需要的朋友可以参考下
    2023-10-10
  • Java 模拟cookie登陆简单操作示例

    Java 模拟cookie登陆简单操作示例

    这篇文章主要介绍了Java 模拟cookie登陆简单操作,结合实例形式分析了Java 模拟cookie登陆的相关原理与基本实现技巧,需要的朋友可以参考下
    2020-03-03
  • Spring中校验器(Validator)的深入讲解

    Spring中校验器(Validator)的深入讲解

    Spring校验器,参数校验从此简单。下面这篇文章主要给大家介绍了关于Spring中校验器(Validator)的相关资料,文中通过示例代码介绍非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-06-06
  • Maven项目配置Tomcat的两种方式

    Maven项目配置Tomcat的两种方式

    本文主要介绍了Maven项目配置Tomcat的两种方式,一种是用idea开发,另一种是eclipse开发,具有一定的参考价值,感兴趣的可以了解一下
    2022-05-05
  • SpringBoot中Mybatis注解一对多和多对多查询实现示例

    SpringBoot中Mybatis注解一对多和多对多查询实现示例

    这篇文章主要介绍了SpringBoot中Mybatis注解一对多和多对多查询的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03

最新评论