想用c++制作一个程序,10进制转成2~16进制,比如我在参数输入 100 b16就自动把100转成16进制

不能用cin ,就一般c++,在线等

第1个回答  2012-04-23
全局变量:
char * pNum = ”0123456789ABCDE“;

函数:

void function(int x , int y , string & sT)
{
sT.clear();
int nT (x % y);
if(x == b)
return;
else
{
fun(x/y , y);
sT += pNum[b];
}
}
这样得到的字符串应该是转换完成的,直接输出即可
第2个回答  2012-04-23
定义String s="0123456789ABCDE";
String ss="";
void fun(int x,int y)
{
int b=x%y;
if(b==x)
return;
else
{ss+=s[b]+"";
fun(b,y);
}
}
基本思路就是通过递归取余,但是最终要倒序输出就可以追问

主要是有一点细节性的问题,比如输入B16,在base里面自动转化成16,要怎么做,难道b
2到b16都要做一个if…………的么

追答

转成16进制,String不是可以吗?比如当b=15的时候,就会变成E啊

本回答被提问者和网友采纳

想用c++制作一个程序,10进制转成2~16进制,比如我在参数输入 100...
这样得到的字符串应该是转换完成的,直接输出即可

相似回答
大家正在搜