码迷,mamicode.com
首页 > 其他好文 > 详细

进制的转换

时间:2016-05-02 12:57:25      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

进制的转换

输入的是数字,当前进制,转换后的进制。。

#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
void fac(int d, int base)   //这个函数是把他转换成相应的进制。。。最后倒序输出。。。
{
    int a[1000];
    memset(a, 0, sizeof(a));
    int count = 0;
    while(d)
    {
        a[count++] = d % base;
        d /= base;
    }
    for(int i = 0; i < count; i++)
    {
        cout << a[count - i - 1];
    }
}
int main() // 一个数字由 几进制 变成 另一个进制 例如 输入:8 10 2 输出: 1000
{
    int base1, base2, sum = 0;
    char str[100];
    cin >> str;
    cin >> base1 >> base2;
    int k = strlen(str) - 1;
    int n = strlen(str);
    for(int i = 0; i < n; i++)  //这块是把他转换成十进制,
    {
        sum += (str[i] - 0) * pow((double)base1, (double)k);
        k--;
    }
    fac(sum, base2);
    cout<<endl;
    return 0;
}

 

进制的转换

标签:

原文地址:http://www.cnblogs.com/lyf-acm/p/5452111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!