如何使用numeric_limit模版

2022年7月27日 24点热度 0人点赞

std::numeric_limit是一个模版类,对基本数值类型进行封装, 通过它可以获知基本类型的特性,比如最小值,最大值,是否精确,是否有符号,是否无限,  本文将说明它的用法。

工具/原料

  • C++11

方法/步骤

  1. 1

    std::numeric_limit可以返回数值无限inf,安静的nan,信号的nan

  2. 2

    从运行调试结果看,调用infinity、quiet_NaN、signaling_NaN返回的结果分别是inf、nan、nan

  3. 3

    通过std::numeric_limit可以获取指定类型的范围

  4. 4

    调用min和max可以获取指定类型的范围如下所示,这样可以很方便获取指定类型的范围

  5. 5

    调用is_specialized可以查看标准库是否实现了特化,调用is_signed可以确认类型是否是有符号,调用has_infinity确认数值是否能够表示无限,通过is_bounded可以确认数值是否有界限

  6. 6

    从输出的打印信息看,float浮点类型是特化,有符号,可以表示无限,并且是有界限

  7. 7

    通过min_exponent和max_exponent可以查看以2为基数的最小指数和最大指数,而min_exponent10和max_exponent10可以查看以10为基数的最小指数和最大指数

  8. 8

    输出的指数大小信息如下,2的指数范围比10的指数范围大

  9. 9

    最后还可以调用round_style来查看指定数值类型的舍入方式

  10. 10

    从打印输出信息看,float类型的舍入方式为舍入到最接近可表示值

    END

注意事项

  • 喜欢经验欢迎点赞投票!
  • 经验由 YWMLI1 原创,首发百度经验,转载请注明出处!
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论