C++ 进制转换

简介

用C++将一个十进制整数转换成任意进制数

转换逻辑

十进制转换成任意进制可用短除法除以对应进制,如图

为了考虑到后续的余数从下往上看余数,int会比较难搞,就用string结合to_string()来衔接字符串,把余数从后往前接。

就是ans=to_string(n%m)+ans;这个是小于10进制的,如果是10进制及以上就会出现余数为10或大于10就要用ABCDEF来替代。具体如下

复制代码
#include<iostream>
using namespace std;
int main() {
    int num,n;
    cin>>num>>n;
    string ans="";
    if(num==0){
        cout << 0 << endl;
        return 0;
    }
    while(num!=0){
        if(num%n<10){
            ans=to_string(num%n)+ans;
            num=num/n;
        }
        else{
            ans=(char)(num%n-10+'A')+ans;
            num=num/n;
        }
    }
    cout << ans << endl;
    return 0;
}
相关推荐
计算机安禾14 小时前
【c++面向对象编程】第22篇:输入输出运算符重载:<< 与 >> 的友元实现
java·前端·c++
zhangzhi197981559214 小时前
Agent Skills
开发语言·python
北山有鸟14 小时前
解决香橙派没有适配ov13855的3A算法
linux·c++·相机·isp
故事和你9115 小时前
洛谷-【图论2-1】树4
开发语言·数据结构·c++·算法·动态规划·图论
故事和你9115 小时前
洛谷-【图论2-1】树1
开发语言·数据结构·c++·算法·深度优先·动态规划·图论
段ヤシ.15 小时前
回顾Java知识点,面试题汇总Day5(持续更新)
java·开发语言
不会C语言的男孩15 小时前
C++ SLTL编程
java·开发语言·c++
java修仙传15 小时前
Java 实习日记:从业务表关系到节点价格分析接口改造
java·开发语言·实习
qq_4523962315 小时前
第十四篇:《JMeter插件扩展:自定义函数与第三方插件》
开发语言·python·jmeter
敲代码的嘎仔15 小时前
力扣高频SQL基础50题详解
开发语言·数据库·笔记·sql·算法·leetcode·后端开发