文件名称:attach_20120629133131
-
所属分类:
- 标签属性:
- 上传时间:2013-06-25
-
文件大小:5.28kb
-
已下载:0次
-
提 供 者:
-
相关连接:无下载说明:别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容来自于网络,使用问题请自行百度
捕获数学函数异常
假如我们要用一个数学函数,比如反正弦函数asin(x),如果变元x的值是由用户提供或某个中间结果,则在调用时必须判断其取值范围是合理,是否满|x|<=1?即
view sourceprint?
1.if(fabs(x)<=1)
2.
y=asin(x)
3.else
4.
y=…
对数函数也可作类似的处理。但是如果遇到幂函数pow(x,y)时,问题就不那么简单了。仔细分析将发现:
y
x 负小数 负整数 0 整数 小数
负小数 无意义 有意义 有意义 有意义 无意义
负整数 无意义 有意义 有意义 有意义 无意义
0 无意义 无意义 有意义 有意义 有意义
整数 有意义 有意义 有意义 有意义 有意义
小数 有意义 有意义 有意义 有意义 有意义
例如:pow(-1.2,-1.2)=-1.#IND。如果要编程处理,至少需要六个if语句。即使如此,也有麻烦:如何判断一个double型的变元的值是整数还是小数?
为了处理数学函数运算中出现的异常,VC++提供了一个函数_mather,其原型在中:
view sourceprint?
1.int _matherr( struct _exception *except ) -Capture mathematical function abnormalities
假如我们要用一个数学函数,比如反正弦函数asin(x),如果变元x的值是由用户提供或某个中间结果,则在调用时必须判断其取值范围是合理,是否满|x|<=1?即
view sourceprint?
1.if(fabs(x)<=1)
2.
y=asin(x)
3.else
4.
y=…
对数函数也可作类似的处理。但是如果遇到幂函数pow(x,y)时,问题就不那么简单了。仔细分析将发现:
y
x 负小数 负整数 0 整数 小数
负小数 无意义 有意义 有意义 有意义 无意义
负整数 无意义 有意义 有意义 有意义 无意义
0 无意义 无意义 有意义 有意义 有意义
整数 有意义 有意义 有意义 有意义 有意义
小数 有意义 有意义 有意义 有意义 有意义
例如:pow(-1.2,-1.2)=-1.#IND。如果要编程处理,至少需要六个if语句。即使如此,也有麻烦:如何判断一个double型的变元的值是整数还是小数?
为了处理数学函数运算中出现的异常,VC++提供了一个函数_mather,其原型在中:
view sourceprint?
1.int _matherr( struct _exception *except ) -Capture mathematical function abnormalities
(系统自动生成,下载前可以参看下载内容)
下载文件列表
MathErrTest/
MathErrTest/MathErrTest/
MathErrTest/MathErrTest/copyright.bat
MathErrTest/MathErrTest/MathErrTest.cpp
MathErrTest/MathErrTest/MathErrTest.dsp
MathErrTest/MathErrTest/MathErrTest.dsw
MathErrTest/MathErrTest/MathErrTest.plg
MathErrTest/MathErrTest/StdAfx.cpp
MathErrTest/MathErrTest/StdAfx.h
MathErrTest/MathErrTest/
MathErrTest/MathErrTest/copyright.bat
MathErrTest/MathErrTest/MathErrTest.cpp
MathErrTest/MathErrTest/MathErrTest.dsp
MathErrTest/MathErrTest/MathErrTest.dsw
MathErrTest/MathErrTest/MathErrTest.plg
MathErrTest/MathErrTest/StdAfx.cpp
MathErrTest/MathErrTest/StdAfx.h
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.