冥思苦想几个小时,不得其解 1/(double)1得到nan???
...代码...
{
int a;
int b;
double d;
a = 1;
b = 1;
d = a/(double)b;
av_log(NULL, AV_LOG_INFO, "?fix it? %f\n", d);
}
...代码...就是上面的代码,av_log输出居然是 nan
放到其他地方,输出是对的,就是放在程序里面一个地方,输出就是nan
上面的代码是用 gcc编译的
然后我在vc里面调用的.
我怀疑是栈溢出,改成4m,还是一样
有什么可能呢?
相关推荐
Java中的NAN和INFINITY
java浮点数运算中有两个特殊的情况:NAN、INFINITY。 1、INFINITY: 在浮点数运算时,有时我们会遇到除数为0的情况,那java是如何解决的呢? 我们知道,在整型运算中,除数是不能为0的,否则直接运行错误。但是在浮点数运算中,引入了无限这个概念,我们来看一下Double和Float中的定义。 Double: public static final double POSITIVE_INFINITY = 1.0 / 0.0; public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
浅谈C#中的Infinity和NaN
C#中double和float类型有两个特殊值: Infinity(无穷大):5.0 / 0.0 = Infinity NaN(not a number):0.0 / 0.0 = NaN 计算表达式 0.0 / 0.0 = NaN, NaN和Infinity可以在表达式中使用: 10 + Infinity = Infinity 10 + NaN = NaN Infinity * 0 = 0 NaN * 0 = NaN 以上这篇浅谈C#中的Infinity和NaN就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
解决NAN情况[项目代码]
本文讨论了在编程中遇到的NAN(Not a Number)问题及其解决方法。NAN通常出现在数值计算中,如对负数开平方、对负数取对数、0.0除以0.0等操作。文章建议使用isNaN(x)方法来判断是否为NAN,并提醒注意避免除数为0的情况,这在Java中会引发除0异常。此外,还介绍了int、float和double等数值类型的区别,以及如何处理数值超出范围或非数值的情况。
Test_double_to_int.rar_The Conversion_double to int
Dalvik doens t distinguish 64-bits types internally, so this conversion of long to int makes no sense but shall not crash the VM.
double_to_float_converter:将c ++源文件从double转换为float
double_to_float_converter:将c ++源文件从double转换为float


