求整型的二进制 求浮点型的二进制
求整型的二进制(正数)
求浮点型的二进制(正数)
float a;
int i,c=0,b;
int cf[100];
scanf("%f",&a); //输入一个浮点型数据
b=a; //把整数部分赋值给b
a=a-b;
while(b!=0)
{
c++;
cf[c]=b%2; //数组cf【c】的第c位数
b=b/2; //整数二进制循环
}
for(i=c;i>=1;i--)
{
printf("%d",cf[i]); //循环打印出数组中存储的整数的二进制数据
}
printf(".");
for(i=0;i<=7;i++) //循环打印浮点型数据的二进制
{
a=a*2;
if(a==1)
{
printf("1");
break;
}
else if(a<0)
{
printf("0");
}
else if(a>0)
printf("1");
a=a-1;
}