当前位置: 代码网 > it编程>编程语言>Java > Java进制转换总结:从十进制到任意进制的转换技巧分享

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

2026年09月04日 Java 我要评论
十进制转其他进制使用 integer.tostring(int n,int radix) 方法,该方法第一个参数是需要进行进制转换的数(int),第二个参数是需要进行转换的进制(int),返回的是一个

十进制转其他进制

使用 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));
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com