进制转换(十进制转八进制为例)

进制转换

一、题目内容

题目描述:

​ 编程,输入一个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());// 反转输出
    }

不足之处,请留言指教

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值