我做的是这个C语言程序:采用递归方法,实现将十进制整数转换成二进制数(含整数部分与小数部分)

来源:百度知道 编辑:UC知道 时间:2024/05/14 06:04:32
但下面这个程序仅有整数部分,怎么加小数部分呢?
#include<stdio.h>
#include<math.h>
void main()
{int ten,er=0,fig;int i;
printf("输入十进制数:");
scanf("%d",&ten);
if(ten!=1)

{for(i=1;ten>1;i++)
{
fig=ten%2;
ten=ten/2;
er+=fig*pow(10,(i-1));
} er+=1*pow(10,(i-1));
printf("转化为二进制数为:%d\n",er);
}
}
那题目怎么注明包含小数部分呢?

我写了个10进制小数,转二进制的程序(包含整数部分和小数部分):

#include <stdio.h>

#define NUM 2
#define ZERO 0.000001

void integer(int n)
{
if(n>0)
{
integer(n/NUM);
printf("%d",n%NUM);
}
}

void decimal(double m)
{
if(m>ZERO)
{
m=m*NUM;
printf("%d",(long)m);
decimal(m-(long)m);
}
}

void main()
{
double f;
long n;

printf("请输入一个10进制的小数:");
scanf("%lf",&f);
if(f<0)
{
printf("-");
f=-f;
}
n=(long)f;
printf("转换成%d进制的小数为:",NUM);
integer(n);
printf(".");
decimal(f-n);
printf("\n");
}

那题目怎么注明包含小数部分呢?
不清楚。。

"这个C语言程序:采用递归方法,实现将十进制整数转换成二进制数"

十进制整数转换成二进制数不会有小数;
十进制有小数的数转换成二进制的数才会有小数.