二进制小数部分转换成十进制循环语句中出现死循环。
#include<stdio.h>#include<math.h>
void main(){
double j=0.101,g;
int i;
for(i=1,g=0;j!=0;i++){
j*=10;
if(j>=1){
j-=1;
g=g+pow(2,-i);}}
printf("%lf",g);
}
以上是一个简化的代码。
问题出在循环上了,但是我不知道哪里错了。
2015-05-23 18:52
2015-05-23 18:54
2015-05-23 19:15

2015-05-23 23:23
2015-05-24 08:22