我是靠谱客的博主 美丽黄豆,最近开发中收集的这篇文章主要介绍十进制转m进制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目描述 Description

将十进制数n转换成m进制数 m<=16

n<=100

输入描述 Input Description

共一行

n和m

输出描述 Output Description

共一个数

表示n的m进制

样例输入 Sample Input

样例1:10 2

样例2:100 15

样例输出 Sample Output

样例1:1010

样例2:6A

数据范围及提示 Data Size & Hint

用反向取余法

首先,我们平时用10进制求其他进制都是以相除取余数的方法来求。

所以,我们每次用n对m取余数,然后在相除,直到n小于m,那么就得到了m进制下的该数,只不过,我们需要把这些余数倒过来,才能表示我们想要的数。

代码如下:


#include <iostream>

using namespace std;

int main() {

    int n, m, num[31];

    for (int i = 0; i<31; i++)

        num[i] = -1;

    cin >> n >> m;

    for (int i = 30; n != 0; i--) {

        num[i] = n%m;      //用n对m取余数

        n /= m;       //取完余数之后要相除

    }

    for (int i = 0; i<31; i++) {

        if (num[i] >= 0 && num[i]<10)

            cout << num[i];

        else if (num[i]>9) {

            char a = num[i] + 55;      //ASCII码差值   A是从65开始的

            cout << a;

        }

    }

    return 0;

}

最后

以上就是美丽黄豆为你收集整理的十进制转m进制的全部内容,希望文章能够帮你解决十进制转m进制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部