• 1361数制转换升级


    描述

    今天的编程课上,刘老师又给大家讲了进制转换的知识。我们知道,任何数据、符号在计算机中都是以二进制的形式表示的,给定一个十进制数,我们很容易就可以转化为二进制数。现在我们要开发一个小工具程序,用来实现任意进制之间的转换。可以将给定的m进制数x转化为n进制的P(所有数数据均能在长整型范围内处理)。

    输入

    输入只有一行,共有三个数x, m,n(2<=m,n<=10)。

    输出

    输出只有一个数,那就是转换后的结果P。

    输入样例 1 

    48  10  8

    输出样例 1

    60

    这题是上一题的升级版,上一题是把十进制数转换成n进制数。
    这一题是把n进制数转换成m进制数。
    我们需要把n进制数转换成十进制数,再转换成m进制数就好了。
    代码:
     1 #include<iostream>
     2 using namespace std;
     3 int main()
     4 {
     5     string s;
     6     int n,m,t=1,x=0,a[205]={0},c=-1,v;
     7     cin>>s>>n>>v;
     8     m=s.size();
     9     for(int i=m-1;i>=0;i--)
    10     {
    11         x=x+(s[i]-48)*t;
    12         t=t*n;
    13     }
    14     while(x!=0)
    15     {
    16         c++;
    17         a[c]=x%v;
    18         x/=v;
    19     }
    20     for(int i=c;i>=0;i--)
    21     {
    22         cout<<a[i];
    23     }
    24     return 0;
    25 }
  • 相关阅读:
    linux——进程管理
    linux——软件管理
    linux——压缩打包
    linux——输入输出
    linux——ACL控制
    linux——特殊权限
    linux——基本权限
    linux——用户管理
    单源最短路spfa(队列优化)
    getline读取
  • 原文地址:https://www.cnblogs.com/cyk20081108/p/13865622.html
Copyright © 2020-2023  润新知