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

news2024/11/28 12:34:12

目录

十进制转其他进制

其他进制转十进制

实战: 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.coloradmin.cn/o/628653.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】739. 每日温度

739. 每日温度(中等) 思路 我们可以维持一个单调递减的栈,表示每天的温度;为了方便计算天数差,这里存放位置(下标),而非温度本身。因为温度可以通过访问数组下标获取。 从左向右遍历…

书接上文,基于藏文手写数字数据开发构建yolov5n轻量级藏文手写数字检测识别系统

在上一篇文章中:《python基于轻量级CNN模型开发构建手写藏文数字识别系统》 开发实现了轻量级的藏文手写数字识别系统,这里主要是想基于前文的数据,整合目标检测模型来进一步挖掘藏文手写数字数据集的可玩性,基于yolov5n开发构建…

Android kotlin序列化之@Parcelize详解与使用

一、介绍 在Android开发过程中,序列化使用概率一直很高。在页面之间传递的对象,需要要使用序列化,常见的序列化:Parcelable、Serialization。 由于Parcelable在传递压缩比高,效率高,一直被Google官方推荐。…

可调电阻器

1、可调电阻(Trimming Potentiometer,Variable Resistor) 1.1、电气特性(Electrical Characteristics) ItemSpec ExampleDescriptionTotal Resistance(TR),总和阻抗200K端子1和3之间…

独立按键检测短按、长按,松手后响应操作

背景 有项目使用独立按键检测,短按、长按。根据使用效果,发现松手后,也就是按键弹起后响应操作比较好操作。 记得之前,博主写过一篇关于按键的检测的文章,但是过于复杂了。可能很难懂,这里就简单一点&…

Flask学习-环境配置

目录 一.环境部署 二.Flask基本结构 三.完整代码 四.运行效果 一.环境部署 在安装好python,pip环境的基础上在命令行输入如下指令: pip install flask flask框架即安装完毕。 二.Flask基本结构 flask的使用通过创建实例实现。创建方法如下&…

ArgoCD(五)----ArgoCD 各CRD资源配置文件规范

3.4.1 Application资源规范 Application CRD的spec字段主要嵌套如下几个字段: source :配置仓库及相关的配置访问及使用方法;支持如下几种类型: kubernetets的原生配置文件Helm chartkustomize:由kustomize字段进行定义…

软件测试实战,支付二维码测试-测试点汇总,全面覆盖...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 面试的时候&#…

递归——先递后归——平衡二叉树

目录 1.什么是递归 (1)问问无所不能的chatgpt。 ​(2)我的理解 2.递归的应用之——树 (1)二叉树的录入与打印 (2)举个例子:将有序的数组转化为平衡二叉树 1.什么是递…

ffmpeg中的avs解码器综述

最近拿了一个avs的视频流,用硬件可以解码,但是ffmpeg自带的却无法解码。 所以研究了一下,首先看ffmpeg的avs解码器: 可以看到avs有两个,第一个是avs 第二个是cavs. 我们先用avs来解码,解码的视频是通过【a…

浅谈医院能耗监控平台研究与应用

摘要:综合性医院作为大型公共机构,能耗高的问题日益突出,构建能耗监控平台对医院能耗量化管理以及效果评估已经成为迫切需要。建立智能能耗监控平台,对采集的能耗数据进行分析,实现对医院能耗平台监控,为医…

java并发编程:Fork/Join并发框架介绍

文章目录 Fork/Join简介工作窃取算法Fork/Join的具体实现ForkJoinTaskfork()方法join()方法 ForkJoinPoolWorkQueuerunState Fork/Join的异常处理Fork/Join的使用 Fork/Join简介 Fork/Join框架是一个实现了ExecutorService接口的多线程处理器,它专为那些可以通过递…

java的内部类

1.内部类的概念 内部类表示的事物是外部类的一部分,内部类单独出现没有任何意义。如发动机是汽车的一部分。 内部类的访问特点: (1)内部类可以直接访问外部类的成员,包括私有; (2)外…

11.无监督学习之主成分分析

11.1 降维 降维的两种应用:一是数据压缩;二是可视化数据。 11.1.1 数据压缩 将相关性强的两个特征导致冗余,可以直接去掉其中一个特征,或者将两个特征进行某种转换,得到一个特征。 11.1.2 可视化数据 直接看数据可…

设计模式:提升软件设计质量的利器,适合入门者的指南

目录 导言:设计模式的概念常见的设计模式2.1. 单例模式(Singleton Pattern)2.2. 工厂模式(Factory Pattern)2.3. 观察者模式(Observer Pattern)2.4. 策略模式(Strategy Pattern&…

OpenGL 摄像机

1.简介 OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉,而不是场景在移动。 要定义一个摄像机,我们需要它在世界空间中的位置、观察的方向…

Java 实现在顺序表中获取 pos 元素的位置

一、思路 1.顺序表不能是空的 2.pos位置要合法 3.直接返回当前的pos位置的下标 二、图解 返回的要是当前 pos 位置的下标,因为下标是没有负数的,由此就可以得出如果下标是负数的话, 这就是一种不合法的情况。 pos 位置的下标也不会超过顺序…

星空特效,截图不太完美

先上效果&#xff1a; 再上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>星空</title><meta name"viewport" content"widthdevice-width, user-scalable…

【立体视觉(三)】之张正友标定法原理

【立体视觉&#xff08;三&#xff09;】之张正友标定法原理 一、相机标定二、参数求解一&#xff09;闭合解二&#xff09;极大似然解三&#xff09;考虑相机畸变 三、实验流程 此为个人学习笔记&#xff0c;在各处借鉴了不少好图好文&#xff08;参考文献在文末&#xff09;&…

项目中常用的linux命令总结大全

哈喽 大家好啊&#xff0c;相信大家在项目中都会常常部署服务器&#xff0c;就涉及到一些常见的linux命令了 1.命令提示符表示命令输入 ps aux | grep nginx&#xff08;查看nginx进程运行状态&#xff09;whereis nginx 查找哪里有nginxlsof -i:5300 查看端口状态kill -9 xxx进…