5、进制转换

//二进制
public static void toBin(int num)
{
	trans(num,1,1);
}
//八进制
public static void toBa(int num)
{
	trans(num,7,3);
}
//十六进制
public static void toHex(int num)
{
	trans(num,15,4);
}
//base&的基数,off偏移量
public static void trans(int num,int base,int off)
{
	if(num==0)
	{
		System.out.println(0);
		return;
	}
	char[] arr={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	char[] ch=new char[32];
	int pos=ch.length;
	while(num!=0)
	{
		int n=num&base;
		ch[--pos]=arr[n];
		num=num>>>off;
	}
	for(int x=pos;pos<ch.length;pos++)
	{
		System.out.print(ch[pos]);
	}
}

 

你可能感兴趣的:(进制转换)