
我们列出0-10,这11个数的开平方b,b*b,比较一下结果。
并且我们保留到小数点后10位和20位。
#include
using namespace std;
int main()
{
for(int i=0;i<11;i++)
{
double b;
b=sqrt(i);
//cout< printf("%.10lf %.20lf %dn",b,b*b,i);
}
}
可以看出,2、3、5、6、7、8、10,这些数,开方后得到b,b*b的结果也不等于开方前的数据。
说明b在内存中已经不精确了。可能是无理数,做截断处理了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)