进制的转换:
(1)数字应该这样看:10^0位(个) 10^1位(十) 10^2位(百) 2^0位 2^1位
(2)8进制转10进制
// 1 8进制数转换成String 2 String转行成char[] 3 判断计算
public void eightToTen(){
String s = new String();
s = s.valueOf(m1);
char[] a = s.toCharArray();
for(int i = 0;i < a.length;i++){
System.out.print(a[i]+" ");
switch(a[i]){
case '1':sum1 = sum1 + 1*Math.pow(8, a.length-i-1);break;
case '2':sum1 = sum1 + 2*Math.pow(8, a.length-i-1);break;
case '3':sum1 = sum1 + 3*Math.pow(8, a.length-i-1);break;
default:System.out.println("有错误");break;
}
}
System.out.println("转换后的结果是:"+sum1);
}
(3)10进制转8进制:
短除法:1 用10进制数一直除以8,得到商和余数; 2 用得到的商继续除以8,得到商和余数, 直到商等于0 3 余数倒过来就是8进制数
// 进制之间的转换 10进制转8进制 这是逆序输出
public void tenToEight(){
for(int i = 0;i < m2;i++){
int k = m2 / 2;
if(k == 0){
System.out.print(m2 % 2+" ");
break;
}
else{
System.out.print(m2 % 2+" ");
m2 = k;
tenToEight();
}
}
}