当前位置: 首页 > news >正文

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

目录

十进制转其他进制

其他进制转十进制

实战: 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));}
}

http://www.lryc.cn/news/92421.html

相关文章:

  • Qemu搭建ARM Vexpress开发环境
  • JMM如何实现volatile写/读的内存语义
  • Smali的使用技巧:快速定位Android应用程序中的关键代码
  • 04_两种常见的网页反爬措施及应对方法
  • 安装docker环境,并制作docker镜像
  • MySQL数据库 – node使用
  • JAVA使用HTTP代码示例模板
  • elementui tree 支持虚拟滚动和treeLine (下)
  • 富人父母都教给孩子什么样的财富思维?
  • 国内比较火的报表工具测评——Smartbi电子表格软件和Finereport
  • 变电所运维云平台在电力系统中的应用
  • 【51单片机】AT24C20数据帧(I2C总线)
  • Python内置函数isinstance()函数介绍
  • QxRibbon 知:搭建 CMake 构建环境
  • Spring框架-面试题核心概念
  • Tomcat部署及优化
  • C++/C按照时间命名保存bin文件
  • 面向多告警源,如何构建统一告警管理体系?
  • python 面向对象 -- 简单理解版
  • SpringMVC 程序开发
  • 使用单片机遇到的几个问题及解决方案1
  • vue项目中el-upload 组件添加token的方法
  • 独立按键检测短按、长按,松手后响应操作
  • BurpSuite2023测试越权漏洞
  • 申请国家标准项目管理专业人员能力评级(CSPM)报名条件有哪些?
  • 代码随想录算法训练营第五十二天|300.最长递增子序列|674. 最长连续递增序列|718. 最长重复子数组
  • 完全卸载mysql教程
  • 4G开发板-安卓手机开发套件-MTK主板开发板定制
  • 人工智能十大新星揭晓,华人学者占90%
  • ROS学习——通信机制(话题通信①—发布方实现)