谁来帮我看看这个进制转换的小程序怎么改 c++

来源:百度知道 编辑:UC知道 时间:2024/09/21 23:38:44
我想输入一个16进制,然后将16进制转换成10进制 8进制 16进制输出

#include<iostream>
#include<iomanip>
using namespace std;
unsigned int HexToDec(char *hex)
{
unsigned int i=0, dec=0;
while (hex[i])
{
dec<<=4;
if (hex[i]>='0' && hex[i]<='9')
dec+=hex[i]&15;
else if (hex[i]>='A' && hex[i]<='F')
dec+=hex[i]-55;
else if (hex[i]>='a' && hex[i]<='f')
dec+=hex[i]-87;
i++;
}
return dec;
}
int main()
{
unsigned short n;
short hex;
cin>>hex;
&n=HexToDec(*hex);
if(n<0)
return 0;
else
cout<<oct<<n<<"(Oct), "<<dec<<n<<"(Dec), "<<hex<<uppercase<<n<<"(Hex)"<<endl;
return 0;
}

#include<iostream>
#include<iomanip>
using namespace std;
unsigned int HexToDec(char *hex)
{
unsigned int i=0, dec=0;
while (hex[i])
{
dec<<=4;
if (hex[i]>='0' && hex[i]<='9')
dec+=hex[i]&15;
else if (hex[i]>='A' && hex[i]<='F')
dec+=hex[i]-55;
else if (hex[i]>='a' && hex[i]<='f')
dec+=hex[i]-87;
i++;
}
return dec;
}
int main()
{
unsigned short n;
char hex[5];
cin>>hex;
hex[4] = 0;
n=HexToDec(hex);
if(n<0)
return 0;
else
cout<<oct<<n<<"(Oct), "<<dec<<n<<"(Dec), "<<hex<<uppercase<<n<<"(Hex)"<<endl;
return 0;
}

调试通过

这就是 c++