相关疑难解决方法(0)

Cnormal版本的isnormal()

是否存在isnormal,isnan等C函数的C++版本?我知道我可以使用C++中的C函数,但我总是很想知道是否有一些C++ - 只有替代品.

c++ floating-point numbers

2
推荐指数
1
解决办法
1971
查看次数

如何检查无限(1.#INF)和无限(1.#IND)数字?

template <class T>
MyClass
{
    public:
        // ...

        void MyMethod(T dbNumber)
        {
            // ...

            T dbResult = do_some_operation_on_dbnumber(dbNumber);

            if (IsInfinite(dbResult))
            {
                // ...
            }
            else if (IsIndefinite(dbResult))
            {
                // ...
            }
            else
            {
                // ...
            }

            // ...
        }

        static bool IsInfinite(T dbNumber)
        {
            // How do I implement this?
        }

        static bool IsIndefinite(T dbNumber)
        {
            // How do I implement this?
        }

        // ...
};
Run Code Online (Sandbox Code Playgroud)

我的代码中有一个数学运算,有时会在模板变量中返回无限且不确定的结果.我想抓住这些无限期的结果.我怎么做?

c++ templates class infinite indefinite

2
推荐指数
1
解决办法
9920
查看次数

在数组中移动元素

我不确定为什么下面的代码不起作用,我试图在数组中找到NaN的值,然后将NaN移动到数组中的第一个元素(元素0)并将现有元素0与任何地方交换NaN是.请问我能检查一下我的代码吗?也许你们/女孩可以看到我不能的东西?

提前致谢!

#define NaN (float)(1e308*10*0)


void movenan(float array[], int size)
{
int w;
float hold;
float move;

for(w = 0; w < SIZE - 1; w++)
{
    if(array[w] == NaN)
    {
        hold = array[w];
        array[w] = array[0];
        array[0] = hold;
    }
}
Run Code Online (Sandbox Code Playgroud)

}

c

2
推荐指数
1
解决办法
150
查看次数

c ++负平方根

我的目标是打印***平方根是否定的.但我想不出一种方法可以将默认nan文本更改为***

for(int i=x1;i<=x2;i++){
   double y = sqrt(pow(i,2)+3*i-500);
    if(y = ?){
        outFile << "***";
    }
Run Code Online (Sandbox Code Playgroud)

那么,我应该在if语句中写什么才能使它成为可能?或者也许有另一种方法可以检查y是否为nan然后打印*

c++ for-loop sqrt

1
推荐指数
1
解决办法
1980
查看次数

将NaN定义为0

每当返回NaN时,我希望返回的值为0.什么是实现此目的的最佳方法?

c nan

1
推荐指数
1
解决办法
148
查看次数

为什么我不能在 C++ Builder 中编译 IsNan

我正在使用 C++ Builder XE 并想检查浮点值是否有效。根据帮助,在math.h中,有一个调用

bool IsNan(float value)
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试编译它时,它告诉我

Call to undefined function 'IsNan'
Run Code Online (Sandbox Code Playgroud)

查看 math.h,没有 isnan 这样的东西(我使用了不区分大小写的搜索)

我是在做傻事还是什么?

c++ math c++builder

1
推荐指数
1
解决办法
1136
查看次数

与自身的双重比较

我有一个我正在分析的代码片,但我不明白这一行:

double level = 0;

...

if (!(level == level) && !(level < level) && !(level > level))
    exit(0);
Run Code Online (Sandbox Code Playgroud)

我认为这是关于双重比较的主题.知道它是什么?

c++

0
推荐指数
1
解决办法
79
查看次数

OpenCL - double既不<= 300或> = 200?C++

double test = 0.0;
.... some code
char qwe = ...
.. some code
test += qwe;
if (test >= 200 || test <= 300) {
   test = 7.0;
}
// For some reason, test seems to equal 0?
Run Code Online (Sandbox Code Playgroud)

为什么(test >= 200 || test <= 300)== false?

这是非常奇怪的行为.

当我打印输出时,它是0?

c++ opencl

0
推荐指数
1
解决办法
84
查看次数

标签 统计

c++ ×6

c ×2

c++builder ×1

class ×1

floating-point ×1

for-loop ×1

indefinite ×1

infinite ×1

math ×1

nan ×1

numbers ×1

opencl ×1

sqrt ×1

templates ×1