十进制转二进制 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;  
   }   

你可能感兴趣的:(十进制转二进制 C语言实现)