标签:
进制的转换
输入的是数字,当前进制,转换后的进制。。
#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