c++负平方根
c++ negative square root
我的目标是在平方根为负数的情况下打印***
。但我想不出将默认的nan
文本更改为***
的方法
for(int i=x1;i<=x2;i++){
double y = sqrt(pow(i,2)+3*i-500);
if(y = ?){
outFile << "***";
}
那么,我应该在if语句中写些什么来使它成为可能呢?或者可能还有另一种方法可以检查y是否为nan,然后打印*
检查平方根函数的负输入如何?
for (int i = x1; i <= x2; ++i)
{
double x = pow(i, 2) + 3*i - 500;
if (x < 0)
{
outFile << "***";
}
else
{
outFile << sqrt(x);
}
}
在C++中测试NaN很棘手。如果sqrt
的参数为负数,只需使用if
语句即可避免对其求值。
你可以简单地测试一下
if( y != y )
。
如果平方根为负数,我的目标是打印*。但我想不出将默认nan文本更改为*的方法
平方根从来都不是负数。但这可能很复杂。看见https://en.wikipedia.org/wiki/Complex_number
其思想是将数字集扩展到所谓的复平面中,该复平面包含一个特殊的数字i,定义为i²=-1。这使我们能够推广平方根:
sqrt(a b)=sqrt(a)sqrt(b)
因此,我们可以将sqrt(-a)分解为sqrt(-1)sqrt(a)=i sqrt(a)
这允许我们将您的程序更改为
for(int i=x1;i<=x2;i++){
double X = pow(i,2)+3*i-500;
double y = sqrt(abs(x));
if(X < 0){
outFile << y << "i";
} else {
outFile << y;
}
}
相关文章:
- 平方根内禀反比
- 简单的平方根
- 是否有一个C++函数可以准确返回平方根反比的内置 CPU 操作 RSQRTSS 的值?
- 试图找到一个数字的平方根,但代码不起作用。C++
- 使用二分法查找数的平方根时出现问题
- 如何使用C 获取周期十进加点号的平方根
- C 平方根 /巴比伦法
- 这种浮点平方根近似是如何工作的
- 使用位移算法计算平方根始终输出相同的数字
- C 查找无SQRT函数循环故障的平方根
- 如何获取数组中每个数字的平方根 (C++)
- 为什么我不能在犰狳中得到这个对称正定矩阵的平方根?
- 平方根代码C 无SQRT()
- 编程手动平方根函数
- 如何在C 中找到具有20位精度的平方根
- 确定平方根是否是整数
- 歧义平方根
- 求解平方根反比
- 是否有用于双精度平方根反比的快速 C 或 C++ 标准库函数
- 如何利用遗传算法求C中数的平方根来实现选择和交叉