初级算法——⼗进制转⼆进制(蓝桥杯)
这是进制转换中⾮常基础的⼀种题型。需要理解进制之间转换的规律。⼗进制转换成其他进制可以使⽤整除倒序取余法。其他进制转换成⼗进制各个位置乘以10进制相应的位权即可(如果是16进制,那么会出现字母,可以⽤整形来存储。字符串可以做加减运算,原理是ASCII码之间的运算)
下⾯的代码⽤的是递归,算法⼗分简易。因为是递归,所以遇到很⼤的数字时,可能出现内存上溢。
#include<stdio.h>
int fact(int n)
{
if(n < 2) //将2换成其他数字如8就可以变成⼗进制转⼋进制
return n;
else
return fact(n/2)*10+n%2;
}
int main()
{
int n;
printf("Enter n:");
scanf("%d",&n);
printf("%d",fact(n));
return 0;
十进制转二进制题目}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。