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;
}
相关推荐
YG亲测源码屋1 分钟前
java配置环境变量、jdk环境变量配置、java环境变量设置方法
java·开发语言
MIUMIUKK3 分钟前
从语法层面,看懂 Python 的特殊处
java·开发语言·python
FlyWIHTSKY5 分钟前
TS、TSX、JS、JSX 文件扩展名详解
开发语言·javascript·ecmascript
着迷不白8 分钟前
第一部分:认识python
开发语言·python
froyoisle39 分钟前
CSP-J 历年复赛 T1 及解析(2019~2025)
数据结构·c++·算法·csp-j·csp·算法竞赛·信息学
basketball61644 分钟前
C++ 高级编程:2. 基本线程池实现
java·开发语言·c++
chao1898441 小时前
SGM(Semi-Global Matching)立体匹配算法 — C++ 实现
开发语言·c++·算法
WiChP1 小时前
【V0.1B11】从零开始的2D游戏引擎开发之路
开发语言·游戏引擎
10岁的博客1 小时前
IOI 2018 高速公路收费(Highway)题解:二分与树的巧妙结合
开发语言·c++