输入后,十进制数变2进制。十进制小数 化 2进制小数 常常 化不尽,所以用 大于小于来判断float型是否正好大于小于某数值是困难的。
简单办法是用字符串方法读入,直接判断字符串。
float i;
char str[32];
int j,L;
scanf("%s",str);
sscanf(str,"%f",&i);
L = strlen(str);
然后查找小数点,for (j=0;j
然后从最小的一位 str[L-1] 起循环,找到第一个不是 0 的位置。 if (str[k] !='0'){....}
算出位数。