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;
}
相关推荐
代码游侠2 小时前
C语言核心概念复习(二)
c语言·开发语言·数据结构·笔记·学习·算法
冰暮流星2 小时前
javascript之双重循环
开发语言·前端·javascript
金枪不摆鳍2 小时前
C++常用关键字考察
c++
墨月白2 小时前
[QT]QProcess的相关使用
android·开发语言·qt
小小码农Come on2 小时前
QT信号槽机制原理
开发语言·qt
KoiHeng2 小时前
Java的文件知识与IO操作
java·开发语言
-Try hard-2 小时前
完全二叉树、非完全二叉树、哈希表的创建与遍历
开发语言·算法·vim·散列表
霍理迪2 小时前
JS作用域与预解析
开发语言·前端·javascript
Traced back2 小时前
# C# WinForms 数据库清理系统基础知识与避坑指南
开发语言·数据库·c#