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;
}
相关推荐
octopus_c37 分钟前
C++ 模板详解:函数模板、类模板、特化与分离编译
开发语言·c++·算法
東隅已逝,桑榆非晚43 分钟前
算法1. 双指针法-移动零
c++·算法
椒颜皮皮虾྅2 小时前
让文档不止于文字:DeploySharp + PP-Structure,打通版面分析与表格重建
开发语言·学习·c#·.net·cuda
Eider19982 小时前
Python基础知识之并发相关-2
开发语言·前端·python
第九序言T2 小时前
Python 数据处理进阶(二十二)用 Pandas 做一次完整的用户行为分析
开发语言·python·数据分析·pandas
云和数据.ChenGuang2 小时前
再论深拷贝和浅拷贝
开发语言·人工智能·python·1024程序员节
悠仁さん2 小时前
【C++】set map 使用
java·前端·c++
艾莉丝努力练剑2 小时前
【AI大模型接入SDK】ChatServer问题修复
c++·学习·ai·大模型·sdk
扶尔魔ocy3 小时前
【QT C++】常用设计模式
c++·设计模式
晚风予卿云月3 小时前
【C++高并发内存池】 2.ThreadCache设计
开发语言·c++·高并发内存池·tcmalloc