黑马程序员技术交流社区
标题:
十进制转其他进制,希望能有用
[打印本页]
作者:
呆呆呆呆孔
时间:
2015-4-29 21:55
标题:
十进制转其他进制,希望能有用
进制方面的内容一直在考点占一席之地,大家看看
class TransDemo
{
public static void main(String[] args)
{
//十进制转二进制
toBin(6);
//十进制转八进制
toOctal(60);
//十进制转十六进制
toHex(60);
}
//十进制转换为二进制
public static void toBin(int num)
{
trans(num,1,1);
}
//十进制转换为八进制
public static void toOctal(int num)
{
trans(num,7,3);
}
//十进制转换为十六进制
public static void toHex(int num)
{
trans(num,15,4);
}
//进制转换
public static void trans(int num,int base,int offset)
{
//定义一个以16进制码组成的字符数组
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;
//对输入的数进行判断,如果为0,就返回不再执行,如果非0就进行与操作和位元算操作
if(num==0)
{
System.out.println(num);
return;
}
while(num!=0)
{
int temp = num&base;
arr[--pos] = chs[temp];
num = num>>>offset;
}
//对arr数组进行遍历
for(int x=pos;x<arr.length;x++)
{
if(x!=arr.length-1)
{
System.out.print(arr[x]+",");
}
else
{
System.out.println(arr[x]);
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2