关于编程中遇到inf的情况
来源:互联网 发布:windws10固态硬盘优化 编辑:程序博客网 时间:2024/05/01 16:10
在进行编程的过程中我们常常会由于没有对分母是否为0进行判断,从而造成结果值为inf或-inf,对这个问题,从根本上杜绝的话就是在做除法的时候对分母进行是否为0的判断,若后续需要对一个数是否为inf或-inf作判断的话,我们可以采用如下方法来做
一、利用C++中的numeric_limits来实现
在C++的头文件#include <limits> 中,有各个类型的最值。
如int 对应的最大最小值:std::numeric_limits<int>::min() std::numeric_limits<int>::max()
如float对应的最大最小值:std::numeric_limits<float>::min() std::numeric_limits<float>::max()
那么对于一个数value,我们可以做如下判断:
若value为int:
if( (value < std::numeric_limits<int>::min()) || ( value > std::numeric_limits<int>::max() ) )printf("the value is inf or -inf\n");若value为float:
if( (value < std::numeric_limits<float>::min()) || ( value > std::numeric_limits<float>::max() ) )printf("the value is inf or -inf\n");其它的情况类似
二、利用inf自身的特性
我们发现对于为inf的数值,其对自身的任意操作仍为自身所以我们可以有很简单的判断条件
if ( value + 1 == value - 1)printf("the value is inf or -inf\n");
后续大家根据自身的需要自己选择使用情况!
0 0
- 关于编程中遇到inf的情况
- C 编程中遇到的几种易错情况
- AndroidStudio中遇到的情况
- Oracle编程,遇到并发的情况处理
- 关于JAVA编程中遇到的Exception 待续......_01
- 关于学习编程中会遇到的一些小问题
- 关于php socket编程中遇到的一些问题
- sql case when 中遇到的情况
- eclipse使用中遇到过的情况
- 关于程序设计中INF和MOD值的设定
- 关于vb编程的的情况。
- 关于 mongodb 安装或使用遇到的情况
- 关于页面转码遇到的两种情况
- 编程中遇到的困惑
- 编程中遇到的错误
- 编程中遇到的Bugs
- 编程中遇到的缩写
- 关于网络编程中服务器出现故障的三种情况(TCP协议)
- C++ vector 类学习笔记 http://blog.csdn.net/whz_zb/article/details/6827999
- 匈牙利算法
- linux c 编程模板总结(二)
- java多线程系列01——多线程基础
- MATLAB对文件进行批量重命名
- 关于编程中遇到inf的情况
- HDU 5054Alice and Bob
- nyoj119 士兵杀敌(三) (线段树,两个value)
- Spring进阶之路(4)-容器中Bean作用域与集合类型配置
- Android应用程序性能优化
- Java服务器热部署的实现原理——java类的加载方式
- 内存管理
- HDU 5055Bob and math problem(构造)
- 利用VS2013编译C语言程序