首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

C语言经典算法之二进制数2

C语言经典算法之二进制数2

/*另一种求二进制算法*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
main()
{
double a,d,b=0;        /* d is a decimal,b is the changeresult,binary*/
int i;
printf("please input the decimal tochange:\n");
scanf("%f",&d);
a=d;                /*d to a*/
for(i=0;a>=1;i++){
   if(pow(2,i)>a){
       a=a-pow(2,i-1);
       b=b+pow(10,i-1);
       i=0;
       }
    }
for(i=-1;a>0.000000001;i--){
   if(pow(2,i)<=a){
       a=a-pow(2,i);
       b=b+pow(10,i);
       }
    }
printf("\n the changed result of %f is%f\n",d,b);
}
返回列表