例如:
#include <stdio.h>
int main(){
int v
char s[60]
printf("input v:")
scanf("%d",&v)
itoa(v,s,3)
printf("%s\n",s)
return 0
}
输入10,输出101
====
手工计算也可以,用不断除以3,取余数,拼起来即可。与除2取余数转换到2进制的方法一样。用 itoa(v,s,base) 的好处是,你只要更换base,便可得 base 进制的结果,免得自己写程序转换。
可以用一个自定义的进制转换函数,用来处理二进制三进制的输出,其余的八进制,十进制和16进制可以使用C++语言自带的格式输出函数进行输出。#include <iostream>
using namespace std
void dec2k(int n,int k)
{ if(n>k-1)dec2k(n/k,k)
printf("%d",n%k)
}
int main()
{ int a,b,i
scanf("%d%d",&a,&b)
printf("二进制\t三进制\t八进制\t十进制\t十六进制\n")
for(i=ai<=bi++)
{ dec2k(i,2)
printf("\t")
dec2k(i,3)
printf("\t%o\t%d\t%X\n",i,i,i)
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)