在C语言中怎么把一个实数转换成二进制
答案:1 悬赏:40 手机版
解决时间 2021-01-30 21:26
- 提问者网友:爱了却不能说
- 2021-01-29 21:46
在C语言中怎么把一个实数转换成二进制
最佳答案
- 五星知识达人网友:春色三分
- 2021-01-29 22:07
#include
#include
#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);
}
}
int 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("
");
system("pause");
return 0;
}
追问不好意思,我们现在还没有学#include有关知识,可不可以不用它编译下代码?thanks~
#include
#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);
}
}
int 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("
");
system("pause");
return 0;
}
追问不好意思,我们现在还没有学#include
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯