黑马程序员技术交流社区
标题:
数组查表法最简化进制转化
[打印本页]
作者:
我只是一只菜鸟
时间:
2014-12-15 14:19
标题:
数组查表法最简化进制转化
class ArrayChangeSystem2{
/*
转化函数:
*/
public static void trans(int num,int base,int offset)
{
char[] check={'0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F'};
char[] arr=new char[32];
int count=arr.length;//存放角标
if(num==0)
arr[count-1]=check[0];
while(num!=0)
{
int temp=num & base;
arr[--count]=check[temp];
num=num >>> offset;
}
Swap(count,arr);
}
/*
Swap()函数打印数组
*/
public static void Swap(int count,char[] arr)
{
for(int i=count;i<arr.length;i++)
{
System.out.print(arr[i]);//只有i与上面对应,才可以打印出所有数
}
System.out.println();
}
/*
十进制转化为八进制
*/
public static void toOctal(int num)
{
trans(num,7,3);
}
/*
十进制转化为二进制
*/
public static void toBin2(int num)
{
trans(num,1,1);
}
/*
十六进制转化为二进制
*/
public static void toHex2(int num)
{
trans(num,15,4);
}
public static void main(String[] args)
{
toBin2(4);
toHex2(32);
toOctal(60);
}
}
复制代码
适用于所有进制转化,适用于负数
作者:
dengchao
时间:
2014-12-15 14:32
视频老师讲过好像
作者:
我只是一只菜鸟
时间:
2014-12-15 15:05
dengchao 发表于 2014-12-15 14:32
视频老师讲过好像
我觉得比较有用
作者:
Honelyboy
时间:
2014-12-15 21:28
学习了,赞一个。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2