十进制转二进制 C语言实现

  #include    <stdio.h>  
   void    Ten2Two(int);  
   int    Ten2Two(float);  
    
   void    Ten2TwoInt(int    number)  
   {  
   int    reminder;  
   reminder=number% 2 ;  
   number=number/ 2 ;  
   if    (number<=1)  
   {  
   printf("%d",number);  
   }  
   else  
   Ten2TwoInt(number);  
   printf("%d",reminder);  
   }  
    
   int    Ten2TwoFraction(float    fraction)  
   {  
   int    number;  
   int    n=1;  
   fraction=fraction* 2 ;  
   do  
   {  
   number=0;  
   if    (fraction<=0.00001    )  
   {  
   printf("%d",number);  
   return    0;  
   }  
   if    (fraction>=1.0000)  
   {  
   fraction=fraction-1;  
   number=1;  
   }  
   printf("%d",number);  
   fraction=fraction* 2 ;  
   n++;  
   }  
   while(fraction>=0.00001    &&    n<=5);  
   return    0;  
   }  
    
    
    
   int    main(void)  
   {  
   float    inumber;  
   int    integ;  
   float    fraction;  
   printf("Please    input    nunber:    ");  
   scanf("%f",&inumber);  
   printf("\n");  
   integ=(int)inumber;  
   fraction=inumber-(float)integ;  
   Ten2TwoInt(integ);  
   printf(".");  
   Ten2TwoFraction(fraction);  
   return    0;  
   }   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值