public class JinZhiChange {
public static void main(String[] args) {
// TODO 自动生成的方法存根
toBin(54883);
toOct(54883);
toHex(54883);
}
public static void change(int num,int move,int yu)
{
char[] ch={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char[] chj=new char[32];
int tmp;
int dc=0;
while(num!=0)
{
//取最后相应的数字
tmp=num&yu;
chj[dc]=ch[tmp];
dc++;
//无符号移位
num=num>>>move;
}
//倒序打印
for(int x=dc-1;x>=0;x--)
{
System.out.print(chj[x]);
}
}
//转换为二进制数
public static void toBin(int num)
{
change(num,1,1);
System.out.println();
}
//转换为八进制数
public static void toOct(int num)
{
change(num,3,7);
System.out.println();
}
//转换为十六进制数
public static void toHex(int num)
{
change(num,4,15);
System.out.println();
}
}
这个小程序涉及的知识点比较多,进制转换,无符号移位,与或等,通过写此程序对基础知识又加深了理解