编写十进制数到二进制、八进制、十六进制间的转换程序。要求:键盘输入一个十进制的数,输出其对应的二进制、八进制、十六进制数。小数部分可以只输出8位以内
//把x进制的数字转换成y进制的数字,s就是要转换的数字,返回的就是结果
string transform(int x,int y,string s )
{
string res = "";
int sum=0;
for(int i=0;i<s.length();i++)
{
if(s[i] == '-')continue;
if(s[i] >= '0' && s[i] <= '9')
{
sum = sum*x+s[i]-'0';
}
else
{
sum = sum*x+s[i]-'A'+10;
}
}
while(sum)
{
char tmp = sum % y;
sum /= y;
if(tmp<=9)
{
tmp += '0';
}
else
{
tmp = tmp -10+'A';
}
res =tmp+res;
}
if(res.length() == 0)res = "0";
if(s[0] == '-')res = '-' + res;
return res;
}