/**
*
*/
package day_04;
/**
* @author chende
* date:2014/08/17
* function:定义几个功能,用来进行将十进制转换为其他进制的转换·
*
*/
public class translatenum {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// tran(-60,16);
tran(60,2);
}
//将十进制转换为其他进制 二进制 八进制 十六进制
//定义两个参数,一个需要转换的十进制数,一个需要转成的进制数
public static void tran(int num,int system){
//用查表法
char arr[]={'0','1','2','3','4','5','6','7',
'8','9','A','B','C','D','E','F'};
char arry[]=new char[32];
if(num==0){
System.out.println(0);
return;
}
int point=arry.length;
int wei=logto2(system);
while(num!=0){
int temp;
temp=num&(system-1);
arry[--point]=arr[temp];
num=num>>>wei;
}
//打印结果
for(int x=point;x<arry.length;x++){
if(x!=arry.length)
System.out.print(arry[x]+" ");
else
System.out.println(arry[x]+" ");
// System.out.println("就是这儿"+x);
}
}
//定义一个用来计算以2为底的对数函数,返回结果为强转为int的double
public static int logto2(int system){
double temp;
temp=Math.log(system)/Math.log(2);
// System.out.println("就是这儿"+temp);
return (int)temp;
}
}
*
*/
package day_04;
/**
* @author chende
* date:2014/08/17
* function:定义几个功能,用来进行将十进制转换为其他进制的转换·
*
*/
public class translatenum {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// tran(-60,16);
tran(60,2);
}
//将十进制转换为其他进制 二进制 八进制 十六进制
//定义两个参数,一个需要转换的十进制数,一个需要转成的进制数
public static void tran(int num,int system){
//用查表法
char arr[]={'0','1','2','3','4','5','6','7',
'8','9','A','B','C','D','E','F'};
char arry[]=new char[32];
if(num==0){
System.out.println(0);
return;
}
int point=arry.length;
int wei=logto2(system);
while(num!=0){
int temp;
temp=num&(system-1);
arry[--point]=arr[temp];
num=num>>>wei;
}
//打印结果
for(int x=point;x<arry.length;x++){
if(x!=arry.length)
System.out.print(arry[x]+" ");
else
System.out.println(arry[x]+" ");
// System.out.println("就是这儿"+x);
}
}
//定义一个用来计算以2为底的对数函数,返回结果为强转为int的double
public static int logto2(int system){
double temp;
temp=Math.log(system)/Math.log(2);
// System.out.println("就是这儿"+temp);
return (int)temp;
}
}