Java进制转换的方法_极悦注册
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java进制转换的方法

Java进制转换的方法

更新时间:2022-08-31 11:13:31 来源:极悦 浏览805次

Java进制转换的方法大家可要牢记哦。

1.十进制转成二进制 未补0

String s = Integer.toBinaryString(n)  //将十进制数转成字符串,例如n=4 ,s = "100"

十进制转成二进制 补0

//输出结果:00000100
String bin = Integer.toBinaryString(4);
DecimalFormat df = new DecimalFormat("00000000");
String format = df.format(Integer.valueOf(bin));
System.out.println(format); //format=00000100

2.二进制转成十进制

方法1:使用Integer.parseInt()实现二进制转换为十进制

import java.util.Scanner;
class BinaryToDecimal {
    public static void main(String args[]){
       Scanner input = new Scanner( System.in );
       System.out.print("Enter a binary number: ");
       String binaryString =input.nextLine();
       System.out.println("Output: "+Integer.parseInt(binaryString,2));
    }
}

方法2:使用自定义逻辑实现二进制转换十进制

public class Details {
    public static void main(String args[]) {
        Details obj = new Details();
        System.out.println("110 --> " + obj.BinaryToDecimal(110));
        System.out.println("1101 --> " + obj.BinaryToDecimal(1101));
    } 
    public int BinaryToDecimal(int binaryNumber) {
        int decimal = 0;
        int p = 0;
        while (true) {
            if (binaryNumber == 0) {
                break;
            } else {
                int temp = binaryNumber % 10;
                decimal += temp * Math.pow(2, p);
                binaryNumber = binaryNumber / 10;
                p++;
            }
        }
        return decimal;
    }
}

3.十进制转成八进制

//十进制转八进制
String octalString = Integer.toOctalString(9);
System.out.println("octalString====="+octalString);

4.八进制转成十进制

public class DecimalFormatTest {
    public static void main(String[] args) {
        int octal = 116;
        int decimal = convertOctalToDecimal(octal);
        System.out.printf("%d 八进制 = %d十进制", octal, decimal);
    } 
    public static int convertOctalToDecimal(int octal) {
        int decimalNumber = 0, i = 0;
        while(octal != 0) {
            decimalNumber += (octal % 10) * Math.pow(8, i);
            ++i;
            octal/=10;
        }
        return decimalNumber;
    } 
}

5.十进制转成十六进制

//补充 十进制转16进制  输出结果:12
String hexString = Integer.toHexString(18);
System.out.println("hexString====="+hexString);

6.十六进制转成十进制

import java.util.HashMap;
import java.util.Map;
public class DecimalTest { 
    public static void main(String[] args) {
        //十六进制转10进制
       String hexString = Integer.toHexString(18);
        int covert = covert(hexString);
        System.out.println("covert======="+covert); 
    }      
    public static int covert(String content){
        int number=0;
        String [] HighLetter = {"A","B","C","D","E","F"};
        Map<String,Integer> map = new HashMap<>();
        for(int i = 0;i <= 9;i++){
            map.put(i+"",i);
        }
        for(int j= 10;j<HighLetter.length+10;j++){
            map.put(HighLetter[j-10],j);
        }
        String[]str = new String[content.length()];
        for(int i = 0; i < str.length; i++){
            str[i] = content.substring(i,i+1);
        }
        for(int i = 0; i < str.length; i++){
            number += map.get(str[i])*Math.pow(16,str.length-1-i);
        }
        return number;
    } 
}

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>