黑马程序员技术交流社区
标题:
制表法进制转换
[打印本页]
作者:
zhoubinjian
时间:
2016-3-21 00:47
标题:
制表法进制转换
/*查表法,通过定义一个临时数组来储存数据。然后将取出来的元素存到一个临时的数组中,再输出有效位*/
class Lianxi
{
public static void main(String[] args)
{
toer(60);
}
public static void toer(int num)//十进制转二进制
{
getnum(num,1,1);
}
public static void toba(int num)//十进制转八进制
{
getnum(num,7,3);
}
public static void toshiliu(int num)//十进制转十六进制
{
getnum(num,15,4);
}
public static void getnum(int num,int a,int b)
{
char[] chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char[] arr=new char[32];
int pos=arr.length;
while(num!=0)//num不断右移,有效位取出来时,后面的都是0000,跳出循环。
{
int temp=num&a;
arr[--pos]=chs[temp];//&15后的值存到临时数组,此方式目的是存到该数组中的元素是正常顺序。
num=num>>>b;
}
for(int x=pos;x<arr.length;x++)//打印有效位,0000不打印
{
System.out.print(arr[x]+",");
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2