前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >进制转换

进制转换

作者头像
且陶陶
发布2023-04-12 14:43:38
4460
发布2023-04-12 14:43:38
举报
文章被收录于专栏:Triciaの小世界

题目描述

输入一个十进制数N,将它转换成R进制数输出。在10≤R≤16 的情况下,用’A’表示10,用’B’表示11,用’C’表示12,用’D’表示13,用’E’表示14,用’F’表示15。

输入格式

输入包含两个整数N(N≤10000)和R(2≤R≤16)。 注意,N有可能是负整数。

输出格式

输出一行,表示转换后的数。

样例输入
代码语言:javascript
复制
23
12
样例输出
代码语言:javascript
复制
1B

进制转换:原进制数通过辗转相除,取余,逆置余数序列的过程得到新的进制的数。

代码

代码语言:javascript
复制
#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    int N,R,a;
    char b[105];
    cin>>N>>R;
    if(N<0){
        cout<<"-";
        N = -N;
    }
    int c = 0;
    while(N){
        a = N % R;
        if(a < 10){
            b[c++] = '0' + a;  //0的Ascall码+a表示0~9的数字
        }
        else{
            b[c++] = 'A' + a - 10;  // 表示A~F字母
        }
        N /= R;
    }
    if(c == 0){
        cout<<0;
    }
    for(int i = c-1;i >= 0;i --){
        cout<<b[i];
    }
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述
  • 输入格式
  • 输出格式
    • 样例输入
      • 样例输出
      • 代码
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档