天天看点

百亿级别数据类型

写了一个小程序解一元二次方程,其中有系数是百亿级别。 求出的解需要当作系数再次代入方程,循环下去直到出现项目需要的数据。

100亿需要36位二进制来表示。double满足。

double类型在输入的时候占位符是%lf。打印的时候可以是%f。

开方需要用double类型库函数sqrt(x)(math.h)

其中出现一个问题:在计算bb-4ac的时候我用的一个中间变量k,k=bb-4ac;然后想着在开方的时候只需要sqrt(k)就可以了 ,虽然确实可以,并且数据不大的时候没什么问题。 但是当系数达到百亿的时候,误差就比较大了。 在sqrt(b*b-4ac)和sqrt(k)的时候,后者多了一步中间变量赋值,计算结果误差很明显。

继续阅读