用c语言将十进制转化三进制怎么做?

用c语言将十进制转化三进制怎么做?,第1张

用内部函数 itoa(v,s,3) v 为给入的10进制数,s 为3进制结果 字符串。

例如:

#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

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8006017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存