#include <iostream>
#include<cmath>
#include <cstring>
using namespace std;
char a[65];
int func(int num,int b)//num为输入,b为转换的进制数
{
int left;//余数
int n=0;
int result=0;
while (num!=0)
{
left=num%b;
num/=b;
result+=left*pow(10,n);
n++;
}
return result;
}
void Reverse(char s[])
{
for(int i =0,j=strlen(a)-1;i<j; ++i,--j)
{
char c=a[i];
a[i]=a[j];
a[j]=c;
}
}
char dayushubianzimu(int u)
{
char ich;
if (u>=0&&u<10)
ich=u+48;
else
ich=u+65-10;
return ich;
}
int changeto (int t,int n)
{
int left;
int i=0;
int temp;
while (t!=0)
{
temp=t%n;
a[i++]=dayushubianzimu(temp);
t/=n;
}
a[i]='\0';
Reverse(a);
}
int main()
{
int t;
scanf ("%x",&t);
//cin>>n;
cout <<func(t,8)<<"(Oct)"<<", ";// 变十以下的进制用 func,十以上的用 changeto
cout <<t<<"(Dec)"<<", ";
changeto(t,16);
cout<<a<<"(Hex)";
return 0;
}
c++ 数制转换 一个十进制的数变十几进制的和几进制的数
最新推荐文章于 2021-08-04 12:13:14 发布