Java进制转换

简介: Java进制转换

Java进制转换

最近在找进制转换的学习视频,发现解法是千奇百怪

有从c++直接转化成java的短除法

还有一堆莫名其妙的方法

在查了一晚上资料后,我对此做了整理

16进制转化成8进制

public class Main {
    public static void main(String[] args) {
        // 16进制数的字符串表示
        String hex = "39";
 
        // 将16进制数转换为整数
        int decimal = Integer.parseInt(hex, 16);
 
        // 将整数转换为8进制的字符串表示
        String octal = Integer.toOctalString(decimal);
 
        // 输出结果
        System.out.println("16进制数 " + hex + " 对应的8进制数为: " + octal);
    }
}

2进制转化成10进制

import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
 
        int a= scanner.nextInt();
        //输入整型数
 
        String string=Integer.toString(a);
        //将整数转化成字符串
 
        int b=Integer.parseInt(string,2);
        //进制转换,第一个参数是字符串,第二个参数是基数,进制
        
        System.out.println(b);
    }
}

16进制转化成10进制

import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
 
        String str=scanner.nextLine();
        //输入一个十六进制的字符串
 
        int a=Integer.parseInt(str,16);
        //将字符串按照16进制转化成整形数
 
        System.out.println(a);
        
    }
}

10进制转化成2进制

import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
 
        int a= scanner.nextInt();
        //输入整型数
 
        String string=Integer.toBinaryString(a);
        //将整数转化成字符串
 
        System.out.println(string);
    }
}

10进制转化成16进制

import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
 
        int a= scanner.nextInt();
        //输入整型数
 
        String string=Integer.toHexString(a);
        //将整数转化成字符串
 
        System.out.println(string);
    }
}

短除法

将十进制数转化为任意的类型

返回字符串

import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        int a= sc.nextInt();
        //输入一个十进制的字符串
 
        String str=jinzhizhuanhuan(a,2);
 
        System.out.println(str);
    }
 
    public static String jinzhizhuanhuan(int a,int b){
        StringBuilder sb=new StringBuilder();
        while(a>0){
            sb.append(a%b);
            a/=b;
        }
        return sb.reverse().toString();
    }
}

总结

Integer类中的静态方法parseInt可以将字符串转化成十进制数

即是字符串转整形数 这时的形参是字符串

而这个parsInt方法重载

当传入两个形参的时候 第一形参依旧是字符串 第二个形参可以传入进制基数radix

代表你想把什么进制的数转化成十进制数

获得到的十进制数 可以再通过Integer类里面的静态方法to...转化为对应的进制

返回值类型是字符串

Integer.toOctalString()转化成八进制

Integer.toBinaryString() 转化为二进制

Integer.toHexString() 转化为十六进制

目录
相关文章
|
Java
poj 1131 Octal Fractions(高精度小数进制转换) Java
虽然题目那么长其实就是把8进制的浮点数转换成10进制,为了练习Java Biginteger 类 我这里用的是Java,也可以用数组模拟
51 0
|
5月前
|
存储 Java 测试技术
day28:Java零基础 - 进制转换
【7月更文挑战第28天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
60 6
|
7月前
|
前端开发 Java 程序员
滚雪球学Java(26):Java进制转换
【5月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
76 3
滚雪球学Java(26):Java进制转换
|
7月前
|
Java C++ Kotlin
进制转换在C/C++/Java/Kotlin中的应用(详细版)(下)
进制转换在C/C++/Java/Kotlin中的应用(详细版)
56 1
|
7月前
|
存储 人工智能 Java
进制转换在C/C++/Java/Kotlin中的应用(详细版)(上)
进制转换在C/C++/Java/Kotlin中的应用(详细版)
54 0
|
Java
Java-day02(关键字,变量,进制转换,数据类型转换,运算符)
Java-day02(关键字,变量,进制转换,数据类型转换,运算符)
68 0
java实现进制转换
java实现进制转换
最全的进制转换 java
最全的进制转换 java
116 0
java10进制转换成16进制,2 字节,低位在前,高位在后
java10进制转换成16进制,2 字节,低位在前,高位在后
java87-Interage包装类进制转换
java87-Interage包装类进制转换
100 0
java87-Interage包装类进制转换