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

java之10进制转换2,8,16进制

2014-12-20 23:16 645 查看
示例代码:

/**
* 进制转换
* @param num 需要转换的数
* @param aim 需要转换的进制(只能是2,8,16)
*/
public static void convert(int num ,int aim){

int i = 0;
int k = 0;

switch(aim){
case 2:
i = 1;
k = 1;
break;
case 8:
i = 7;
k = 3;
break;
case 16:
i = 15;
k = 4;
break;
default:
System.out.println("错误进制 ");
break;

}

char[] ch = new char[]{'0','1','2','3'
,'4','5','6','7',
'8','9','A','B',
'C','D','E','F'};
char[] ca = new char[8];
int pos = ca.length ;

while(num != 0){

int temp = num & i;
ca[--pos] = ch[temp];
num >>>= k;
}

for(int j = pos;j<ca.length;j++){
System.out.println((char)ca[j]);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: