社区
C++ 语言
帖子详情
VS2013调试时,变量的值显示为:1.#QNAN000和-1.#IND0000,请问是什么原因?
kejian_clear
2015-12-09 06:52:40
VS2013调试时,变量的值显示为:1.#QNAN000和-1.#IND0000。 为什么是出现这个情况?
...全文
681
5
打赏
收藏
VS2013调试时,变量的值显示为:1.#QNAN000和-1.#IND0000,请问是什么原因?
VS2013调试时,变量的值显示为:1.#QNAN000和-1.#IND0000。 为什么是出现这个情况?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2015-12-10
打赏
举报
回复
不要依赖调试器输出数据!而要将数据的内容在处理它的每一步使用一小段代码按自己很容易理解的格式输出,非常有助于调试!或者可以说是“基础设施”
kejian_clear
2015-12-10
打赏
举报
回复
嗯,谢谢。我再去找下代码看看
lm_whales
2015-12-10
打赏
举报
回复
NAN :not a number 不是一个数 一个数跟无穷大 进行运算,结果也许是不是一个数 当然某种溢出也可能不是一个数 IND 似乎是无穷小 先看看输出格式是否有问题,再 看看有没有 运算溢出 除以0 等等情况
kejian_clear
2015-12-10
打赏
举报
回复
嗯,也考虑过这种情况,只是没找出错在哪,看来还得继续找
paschen
版主
2015-12-09
打赏
举报
回复
是不是除以了0
浮点数计算常见错误1
.#
INF, 1
.#
IND
和#Q
NAN
编程
时
,可能会从您的代码中产生某些错误条件。如果编译器捕获任何编译错误,它将停止编译并告诉您错误所在位置。编译器还可能会对某些构造发出警告,这些构造可能会或可能不会在运行期间给您带来问题。 以下是您作为程序员在执行浮点算术(任何加法、减法、乘法和除法)
时
应注意的一些浮点条件,即(Q
NAN
和 S
NAN
)条件和错误。 正数 负数 意义 1
.#
INF -1
.#
INF Infinity无穷大 1
.#
S
NAN
-1
.#
S
NAN
Signalling
NaN
.
stm32 浮点数 -
nan
(
ind
) inf Bug
在
调试
stm32
时
出现程序跑飞的情况,debug
时
发现有一个float的
变量
为-
nan
(
ind
),也就是在除法
时
除数为零所致,解决方法如下: 在数据处理中,经常会对数据进行判断,看是否异常。有
时
候数据会很大或者很小,或者负数,这些都可以进行判断。但是当数据出现了1
.#
Q
NAN
这样的无效
值
情况
时
,经常会失去判断,导致最后数据处理出错。 有两个函数可以用来判断(头文件为#include"float.h") int _is
nan
(double); int _finite(float); 如...
代码反汇编:IDA Pro与Soft ICE之应用(2)
C++ 语言
64,282
社区成员
250,470
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章