您的位置:首页 > 其它

十进制转换为二进制、八进制、十六进制程序

2014-08-09 11:48 411 查看
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();
}
}


这个小程序涉及的知识点比较多,进制转换,无符号移位,与或等,通过写此程序对基础知识又加深了理解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: