#include<stdio.h>
int main()
{
float x=235.5625,y=0.0;
printf("请输入你要换算的数,这个数要在你的计算机所能工作的范围内:");
scanf("%f",&x);
int a=x;
float b=x-a;
int c=0;
int d=0;
int i =0;
int e=0;
int g=0;
int m=0;
int n=1;
int p=0;
if(a%2!=0) {
while(a>0){
c=a%2;
d=c+d*10;
a=a/2;
}
while(d>0){
g=d%10;
m=g+m*10;
d=d/10;
}
}else{
int d=1;
while(a>0){
c=a%2;
d=c+d*10;
a=a/2;
}
while(d>0){
g=d%10;
m=g+m*10;
d=d/10;
}
m=m-1;
}
int j=0;
while(i<8){
i++;
b=b*2;
e=b;
if(b>=1){
b=b-1;
}
n=n*10+e;
}
p=n-100000000;
if(p>9999999){
printf("10进制数%lf的二进制数是%d.%d\n",x,m,p);
}else if(p>999999){
printf("10进制数%lf的二进制数是%d.0%d\n",x,m,p);
}else if(p>99999){
printf("10进制数%lf的二进制数是%d.00%d\n",x,m,p);
}else if(p>9999){
printf("10进制数%lf的二进制数是%d.000%d\n",x,m,p);
}else if(p>999){
printf("10进制数%lf的二进制数是%d.0000%d\n",x,m,p);
}else if(p>99){
printf("10进制数%lf的二进制数是%d.00000%d\n",x,m,p);
}else if(p>9){
printf("10进制数%lf的二进制数是%d.000000%d\n",x,m,p);
}else if(p>0){
printf("10进制数%lf的二进制数是%d.00000000%d\n",x,m,p);
}else if(p==0){
printf("10进制数%lf的二进制数是%d.000000000\n",x,m,p);
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-31475.html