std::numeric_limit是一个模版类,对基本数值类型进行封装, 通过它可以获知基本类型的特性,比如最小值,最大值,是否精确,是否有符号,是否无限, 本文将说明它的用法。
方法/步骤
-
1
std::numeric_limit可以返回数值无限inf,安静的nan,信号的nan
-
2
从运行调试结果看,调用infinity、quiet_NaN、signaling_NaN返回的结果分别是inf、nan、nan
-
3
通过std::numeric_limit可以获取指定类型的范围
-
4
调用min和max可以获取指定类型的范围如下所示,这样可以很方便获取指定类型的范围
-
5
调用is_specialized可以查看标准库是否实现了特化,调用is_signed可以确认类型是否是有符号,调用has_infinity确认数值是否能够表示无限,通过is_bounded可以确认数值是否有界限
-
6
从输出的打印信息看,float浮点类型是特化,有符号,可以表示无限,并且是有界限
-
7
通过min_exponent和max_exponent可以查看以2为基数的最小指数和最大指数,而min_exponent10和max_exponent10可以查看以10为基数的最小指数和最大指数
-
8
输出的指数大小信息如下,2的指数范围比10的指数范围大
-
9
最后还可以调用round_style来查看指定数值类型的舍入方式
-
10
从打印输出信息看,float类型的舍入方式为舍入到最接近可表示值
END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
文章评论