您的位置:首页 > 其它

10进制转化成其他进制

2015-08-06 20:19 429 查看
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
;
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
;
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
;
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
;
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);
}
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: