有以下代码
double tempvalue=0.0;
for (int row2=0; row2<N1;row2++)
{
tempvalue+=ClassNormalMatrix[row2][col1]*ClassNormalMatrix[row2][col1];
}
tempvalue=sqrt(tempvalue);调试窗口看到:tempvalue 1.#INF000000000是怎么回事,是不是溢出了?
我要取整怎么做?
请高手指点
double tempvalue=0.0;
for (int row2=0; row2<N1;row2++)
{
tempvalue+=ClassNormalMatrix[row2][col1]*ClassNormalMatrix[row2][col1];
}
tempvalue=sqrt(tempvalue);调试窗口看到:tempvalue 1.#INF000000000是怎么回事,是不是溢出了?
我要取整怎么做?
请高手指点
取整:强制类型转换double tempvalue=4.8;
int nValue = (int)tempvalue;现在nValue等与4
double dbg_fTemp = sqrt (-1.0);
我不知道:“1.#INF000000000”是什么东西,它的值怎么会变成这个东西
double dbg_fTemp = sqrt (-1.0) * sqrt (-1.0);
double dbg_fTemp2 = sqrt (dbg_fTemp);
[这是ANSI C 中的概念,标准C中凡是有该值参与的运算都,其值会为1.#INF000000000]