java给出了有限和的无穷大

ycl3bljg  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(311)

我对java相当陌生,但已经用它做了一些android编程。
现在我想用

for (int i=1; i<=n; i++)
    {
        sum = sum + (float) 1/(i*i);
    }

无穷级数的和是有限的,但超过大约50000项,和就是“无穷大”。只要我不让它去太多的条款,虽然,系列似乎是收敛的预期。
这里的数据结构有问题吗,或者我遗漏了什么。

j1dl9f46

j1dl9f461#

一个问题是 i * i 会发生整数溢出。
特别是,当 i = 2^16 (即65536), i*i = 2^32 溢出到0。以及 1f / 0+Infinity 在 java 。
如果你申报 i 作为一个 float 你会更接近你所期望的。如果你想要更好的精度,你可以用双精度。

相关问题