本文主要是介绍10进制转化成其他进制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
10进制转化成其他进制
public class RadixChange {
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
//转化成二进制
toBinary(num);
//转化成八进制
toOctal(num);
//转化成十六进制
toHex(num);
sc.close();
}
/**
* 十进制转十六进制第一种方法
* @param num 一个十进制数
*/
public static void toShiLiu(int num)
{
int[] arr = new int[8];
int index = arr.length;
while(num!=0)
{
arr[--index] = num&15;
num = num>>>4;
}
for(;index<arr.length;index++)
{
if(arr[index]>9)
System.out.print((char)(arr[index]-10+'a'));
else
System.out.print(arr[index]);
}
}
/**十进制转十六进制第二种方法----查表法
* @param num 一个十进制数
*/
public static void shiLiu(int num)
{
char[] ch={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
char[] arr = new char[8];
int index = arr.length;
while(num!=0)
{
int n = num&15;
arr[--index] = ch[n];
num = num>>>4;
}
for(;index<arr.length;index++)
{
System.out.print(arr[index]);
}
}
/**十进制转8进制
* @param num 一个十进制数
*/
public static void ba(int num)
{
char[] ch={'0','1','2','3','4','5','6','7'};
char[] arr = new char[11];
int index = arr.length;
while(num!=0)
{
int n = num&7;
arr[--index] = ch[n];
num = num>>>3;
}
for(;index<arr.length;index++)
{
System.out.print(arr[index]);
}
}
/**十进制转2进制
* @param num 一个十进制数
*/
public static void er(int num)
{
char[] ch={'0','1'};
char[] arr = new char[32];
int index = arr.length;
while(num!=0)
{
int n = num&1;
arr[--index] = ch[n];
num = num>>>1;
}
for(;index<arr.length;index++)
{
System.out.print(arr[index]);
}
}
/**提取出一个通用的进制转换方法
* @param num 一个十进制数
* @param base
* @param off
*/
public static void toAny(int num,int base,int off)
{
char[] ch={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
char[] arr = new char[32];
int index = arr.length;
while(num!=0)
{
int n = num&base;
arr[--index] = ch[n];
num = num>>>off;
}
for(;index<arr.length;index++)
{
System.out.print(arr[index]);
}
}
public static void toBinary(int num)
{
toAny(num,1,1);
}
public static void toOctal(int num)
{
toAny(num,7,3);
}
public static void toHex(int num)
{
toAny(num,15,4);
}
}
这篇关于10进制转化成其他进制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!