永发信息网

在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~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯