Help me about "Floating invalid operation" exception

wpkiller 2000-06-16 11:28:00
我现在编写的一个程序读取仪表的实时数据,我读取上来的数据是 double 。但我发现 double 有时会是一个无效的值(即无效的double值,INF)。

我用 try - catch(...) 捕捉到了这个异常,但我后继的程序运行中显得很异常,明显的不对,我不知道如何清除这个异常!是否有关 SEH ?

产生异常数的程序如下:

float tmp;
WORD t[2];
t[0] = 64204;
t[1] = 32641;
memcpy(&tmp, t, 4);

此时出来的 tmp 即为无效的 float。再进行任何对 tmp 的处理就会出错。问题就是如何如何捕捉并清除。
...全文
119 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuzzy 2000-06-16
  • 打赏
  • 举报
回复
我试了一下,你给出的tmp不是合法的float,你自己拼实数时必须符合float的二进制格式!

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧