高精度实数累乘怎么算
来源:百度知道 编辑:UC知道 时间:2024/07/01 11:41:45
比如哦12.123456789的12次方怎么算
我觉得要用按位来算。
main()
{long double s,a=12.123456789;
for(int i=1;i<=12;i++)
{s=s*i;}
printf("%lf",s);
}
楼上两位的代码根本显示不出那么高精度的数,其结果也只是一个近似值。因为long float和long double这两种数据类型提供的有效数字也是非常有限的。你可以写一个自定义类来计算任意长度的数字的数学运算。
main(){long float a=12.123456789;
int i=12;
long float sum=1;
for(i=1;i<=12;i++)
sum=sum*a;}