欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

二进制、八进制、十六进制、十进制任意进制的转换(Java语言)

程序员文章站 2022-07-15 08:42:19
...

解题思路:
将一个P进制的数,转化为Q进制的数,分为两步:

1、将P进制数转化为10进制的数

		int y=0;
		int product=1;
		while(num!=0) {
			y+=num%10*product;
			num/=10;
			product*=p;
		}

2、将十进制转化为Q进制的数

		int[] arr=new int[50];
		int length=0;
		do {
			arr[length++]=num%q;
			num/=q;
		}while(num!=0);

代码:

/**
 *作者:魏宝航
 *2020年11月26日,下午21:05
 */
import java.util.*;
public class Test{
	//将P进制转为10进制
	public static int toTen(int num,int p) {
		int y=0;
		int product=1;
		while(num!=0) {
			y+=num%10*product;
			num/=10;
			product*=p;
		}
		return y;
	}
	//将10进制转为Q进制
	public static String toOther(int num,int q) {
		int[] arr=new int[50];
		int length=0;
		do {
			arr[length++]=num%q;
			num/=q;
		}while(num!=0);
		String res="";
		for(int i=length-1;i>=0;i--) {
			res+=arr[i]+"";
		}
		return res;
	}
    public static void main(String[] args) {
    	Scanner sc=new Scanner(System.in);
        int a=12;
        System.out.println(toTen(10110, 2));
        System.out.println(toOther(22, 2));
    }
}