Java中进制转换的两种方法你知道吗? 您所在的位置:网站首页 十进制转为二进制的两种方法 Java中进制转换的两种方法你知道吗?

Java中进制转换的两种方法你知道吗?

2023-10-27 10:22| 来源: 网络整理| 查看: 265

目录

十进制转其他进制

其他进制转十进制

实战: A进制转B进制

关于大数运算可以参考躲不掉的高精度计算,蓝桥杯必考_高精度算法在哪些比赛考_无忧#的博客-CSDN博客

十进制转其他进制 使用 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)); } }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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