您的位置:首页 > 编程语言 > Java开发

JAVA 学习 进制转换

2015-08-08 19:17 369 查看
写一个函数trans();

   1 能够进行十进制转二进制

   2 能够进行十进制转八进制

   3 能够进行十进制转十六进制

   4 封装函数

代码实现:

class ArraryTest {
public static void main(String[] args) {
int num=60;
String str_Bin=toBinary(num);
String str_Oct=toOctal(num);
String str_Hex=toHex(num);
System.out.println("自己定义的转换");
System.out.println("bin: "+str_Bin);
System.out.println("oct: "+str_Oct);
System.out.println("hex: "+str_Hex);
System.out.println("系统自带的转换");
System.out.println(Integer.toBinaryString(60));
System.out.println(Integer.toOctalString(60));
System.out.println(Integer.toHexString(60));
}
///十进制转十六进制
public static String toHex(int num){
return "0x"+trans(num,15,4);
}
///十进制转二进制
public static String toBinary(int num){
return trans(num,1,1);
}
///十进制转八进制
public static String toOctal(int num){
return "0"+trans(num,7,3);
}
///调用trans函数根据需求进行转换
public static String trans(int num,int base,int offset){///base 按位与的数 offset 右移位数
if(num==0)
return "0";
///打表 完成进制转换
char []chs={'0','1','2','3','4',
'5','6','7','8','9',
'A','B','C','D','E','F'};
char []arr=new char[32];
int index=arr.length;
///具体操作
while(num!=0){
int temp=num&base;
arr[--index]=chs[temp];
num=num>>>offset;
}
return toString(arr,index);
}
///数字转字符串函数
public static String toString(char []arr,int pos){
String temp="";
for(int i=pos;i<arr.length;++i){
temp+=arr[i];
}
return temp;
}
}


运行结果:






我的第一个JAVA程序感觉还好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: