程序输出"nan"
Programm Output "nan"
我正在尝试用无穷级数计算PI。当我开始我的程序时,我得到了一些错误的nummbers,但我得到了输出"nan"。
有谁知道为什么?
代码如下:
#include <iostream>
using namespace std;
int main()
{
long double pi;
float x;
int y = 3;
bool loop = true;
while(true)
{
x=1/y;
y+2;
if(loop == true)
{
pi -= x;
loop = false;
}
else if(loop == false)
{
pi += x;
loop = true;
}
cout<<pi<<" ";
}
return 0;
}
代码的行为未定义,因为当您在添加或减去x
pi 时读取其值时不会初始化pi。这解释了 NaN:一些编译器在某些方面有帮助地将未初始化的浮点变量设置为 NaN。
由于整数除法,x = 1 / y;
将x
设置为 0。你想要1.0 / y
吗?
y + 2;
是无操作的。你想要y += 2
吗?
请注意,您需要将序列乘以 4 才能得到pi,并且该序列收敛得特别慢,小数点后两位需要大约 300 个项。而且你的起始值y
是错误的。不应该是1吗?
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 请解释"函数1(p1,p2,p3);"的输出
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 为什么我的代码在输出中增加了93天
- 如何从void函数输出字符串
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- AES加密到解密未正确输出
- 输出是NaN,如何
- 为什么我在输出端得到 nan?
- C++ 每次运行程序时我都会"nan"输出的问题
- 如何在 c++ 中处理 -nan 输出
- 程序输出"nan"
- 尝试在数组(C )中找到平均值时,获取-NAN(IND)输出
- 为什么该浮点联盟的输出是NAN的
- C++,在输出时将NaN移动到数组的末尾
- 如何让所有平台编译器为 NaN 输出相同的字符串
- 计算输出=nan