进制转换
一、题目内容
题目描述:
编程,输入一个10进制正整数,然后输出它所对应的八进制数。
输入格式:
一个10进制数
输出格式:
对应的8进制数
样例输入:
10
样例输出:
12
二、思路分析
进制转化就是在短除法的基础上得到的余数进行倒序输出,具体用短除法来实现这个问题。下面是简单的图示(8080为例):
接收到数据后,先进行取余,拿到转换后的最后一位(结合上图一起看),再将数字除下来,模拟短除法。可以使用StringBuilder来放入字符串,但需要注意是从后往前放入的数字,最后输出的时候需要倒序输出即可。
核心:
- 所有进制间的转化都是一个逻辑,掌握好短除法即可
三、代码实现
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
int yu = 0;
StringBuilder sb = new StringBuilder();
while (i>=8){ //循环计算
yu = i%8;
i = i/8;
sb.append(String.valueOf(yu));
}
if(i<8){ // 别忘记最后一位
i = i % 8;
sb.append(String.valueOf(i));
}
System.out.println(sb.reverse().toString());// 反转输出
}
不足之处,请留言指教