#include<iostream>
#include<vector>
#include<iterator>
#include<string>
#include<cstdio>
#include<bitset>
using namespace std;
#define dlong long long int
void m2n(int m, char* mNum, int n, char* nNum)
{
int i = 0;
char c, *p = nNum;
//这是一个考查处所,是不是能用起码乘法次数。
while (*mNum != '\0')
i = i*m + *mNum++ - '0';
//辗转取余
while (i) {
*p++ = i % n + '0';
i /= n;
}
*p-- = '\0';
//逆置余数序列
while (p > nNum) {
c = *p;
*p-- = *nNum;
*nNum++ = c;
}
}
void convert(dlong m,int n)
{
vector<int>vec;
while(m)
{
vec.push_back(m%n);
m/=n;
}
for(vector<int>::reverse_iterator iter=vec.rbegin();iter!=vec.rend();)
{
cout<<*iter++;
}
cout<<endl;
}
int main()
{
int n;
cin>>n;
vector<string>vec;
string str;
fflush(stdin);
for(int i=0;i<n;++i)
{
getline(cin,str);
vec.push_back(str);
}
for(int i=0;i!=vec.size();++i)
{
bitset<sizeof(vec[i])*8>b(vec[i]);
convert(b.to_ulong(),3);
}
return 0;
}
进制转换
最新推荐文章于 2021-05-19 21:55:20 发布