#include
using namespace std;
int main()
{
int a,b,c,d;
cout<<"请输入待转换的数:";
cin>>a;
//二进制分别计算每一位
if(a==0)cout< b=a;c=0;d=1;
while(b!=0)
{
c+=(b%2)*d;//依次把b除以2的余数写在c的对应位置上
b=b/2;
d*=10;
}
cout<
cout<
如果有不懂请追问。
#include
using
namespace
std;
int
main()
{
cout<<"该程序可以转换36进制之内的数,9之后的后续数为大写字母A-Z"<
>n;
cout<<"请输入您要转换成的进制:"<
>x;
chg10tox(n,x);
return
0;
}
void
chg10tox(int
n,int
x)
{
char
p[20];
int
t;
for(int
i=0;n;i++)
{
t=n%x;
n=(n-t)/x;
if(t>=0&&t<=9)
p[i]=t+48;
else
p[i]=t+65-10;
}
for(i=i-1;i>=0;i--)
cout<
评论
0
0
加载更多
#include cout<
using namespace std;
int main()
{
cout<<"该程序可以转换36进制之内的数,9之后的后续数为大写字母A-Z"<
int n,x;
cout<<"请输入一个任意正整数:"<
cout<<"请输入您要转换成的进制:"<
chg10tox(n,x);
return 0;
}
void chg10tox(int n,int x)
{
char p[20];
int t;
for(int i=0;n;i++)
{
t=n%x;
n=(n-t)/x;
if(t>=0&&t<=9)
p[i]=t+48;
else
p[i]=t+65-10;
}
for(i=i-1;i>=0;i--)
cout<
望采纳,谢谢
有输出格式设置的,
#include
#include
int main()
{
int num=123;
cout << hex << num << endl; //十六进制
cout << oct<< num << endl; //八进制
cout << dec<< num << endl; //十进制
}
有一个转换函数很好用:
char *itoa(int value, char *string, int radix);
int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等
头文件:
但注意:这个不是C++标准库函数,只能在Visual C++系列编译器环境下使用
想在GCC上做的话,可以设置输出格式,也可以自己编函数进行转换……