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;
}
相关推荐
咚为20 分钟前
Rust 跨平台编译实战:从手动配置到 Cross 容器化
开发语言·后端·rust
跃龙客21 分钟前
C++写文件笔记
c++·笔记
Je1lyfish23 分钟前
CMU15-445 (2026 Spring) Project#2 - B+ Tree
linux·数据结构·数据库·c++·sql·spring·oracle
永远睡不够的入23 分钟前
C++STL详解2:stack和queue
开发语言·c++
宵时待雨33 分钟前
C++笔记归纳11:多态
开发语言·c++·笔记
小道士写程序40 分钟前
Babylon.js WebGPU Ocean Demo — 完整踩坑记录
开发语言·javascript·ecmascript
Code知行合壹1 小时前
JDK10新特性
开发语言·jdk
qq_390760391 小时前
简单的线程安全日志记录器
开发语言·数据库·c#
T1an-11 小时前
C++11智能指针shared_ptr的控制块内都有什么?
开发语言·c++
迈巴赫车主1 小时前
天梯赛 L2-004 这是二叉搜索树吗?java
java·开发语言·数据结构·算法·天梯赛