当前位置: 首页 > news >正文

C++ Reference: Standard C++ Library reference: C Library: cmath: llrint

C++官网参考链接:https://cplusplus.com/reference/cmath/llrint/

函数 
<cmath> <ctgmath>
llrint
C99
long long int llrint(double x);      
long long int llrintf(float x);
long long int llrintl(long double x);
C++11
long long int llrint(double x);      
long long int llrint(float x);
long long int llrint(long double x);     
long long int llrint (T x);   // additional overloads for integral types

舍入并转换为long long整型 
使用fegetround指定的舍入方向将x舍入为整数值,并将其作为long long int类型的值返回。
参见lrint获得返回long int的等效函数。
C99
头文件<tgmath.h>提供了该函数的类型泛型宏版本。 
C++11
在此头文件(<cmath>)中为整型(integral types)提供了额外的重载:这些重载在计算之前有效地将x转换为double类型(定义为T为任何整型(integral types))。

参数
x
将要舍入的x。

返回值x的值舍入到附近的整数,并转换为long long int的值。
如果舍入的值在返回类型的范围之外,则返回的值是未指定的,并且可能发生域错误或溢出范围
错误(或者没有,取决于实现)。
如果发生域错误: 
—math_errhandling设置了MATH_ERRNO:全局变量errno设置为EDOM。
—math_errhandling设置了MATH_ERREXCEPT:将引发FE_INVALID。
如果发生溢出范围错误: 
—math_errhandling设置了MATH_ERRNO:全局变量errno设置为ERANGE。
—math_errhandling设置了MATH_ERREXCEPT:引发FE_OVERFLOW。

用例
/* llrint example */
#include <stdio.h>      /* printf */
#include <fenv.h>       /* fegetround, FE_* */
#include <math.h>       /* llrint */

int main ()
{
  printf ("rounding using ");
  switch (fegetround()) {
    case FE_DOWNWARD: printf ("downward"); break;
    case FE_TONEAREST: printf ("to-nearest"); break;
    case FE_TOWARDZERO: printf ("toward-zero"); break;
    case FE_UPWARD: printf ("upward"); break;
    default: printf ("unknown");
  }
  printf (" rounding:\n");

  printf ( "llrint (2.3) = %lld\n", llrint(2.3) );
  printf ( "llrint (3.8) = %lld\n", llrint(3.8) );
  printf ( "llrint (-2.3) = %lld\n", llrint(-2.3) );
  printf ( "llrint (-3.8) = %lld\n", llrint(-3.8) );
  return 0;
}
可能的输出:

另请参考
nearbyint    Round to nearby integral value (function) (舍入到附近整型值(函数))
rint    Round to integral value (function) (舍入到整型值)
lrint    Round and cast to long integer (function) (舍入并转换为long整型(函数))
round    Round to nearest (function) (舍入到最近(函数))
floor    Round down value (function) (向下舍入取值(函数))
ceil    Round up value (function) (向上舍入取值(函数))
trunc    Truncate value (function) (截断取值(函数))

相关文章:

  • NNDL实验: Moon1000数据集 - 弯月消失之谜
  • ROC-RK3588-PC 八核8K人工智能开源主板
  • 2022新版PMP考试有哪些变化?
  • hive集群加了个参数后,union all的任务都执行不了影响业务
  • 攻防演练中防守方的防护措施.
  • 鲁棒的非负监督低秩鉴别嵌入算法
  • 第一季:12Linux常用服务类相关命令【Java面试题】
  • 35-SpringBoot 短信验证码接口使用
  • RTOS 任务划分
  • 无人机基础知识:多旋翼无人机系统基本组成
  • uniapp原生插件-YL视频播放器
  • 黑马瑞吉外卖之套餐信息的删除
  • 第十三届蓝桥杯C++B组国赛C题——卡牌 (AC)
  • SpringMVC中的接口传参接参总结
  • python毕业设计项目源码选题(17)校园二手书籍交易系统毕业设计毕设作品开题报告开题答辩PPT
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • [微信小程序] 使用ES6特性Class后出现编译异常
  •  D - 粉碎叛乱F - 其他起义
  • es的写入过程
  • input实现文字超出省略号功能
  • JavaScript 奇技淫巧
  • Js基础知识(四) - js运行原理与机制
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Shell编程
  • Vue ES6 Jade Scss Webpack Gulp
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • webpack入门学习手记(二)
  • 给Prometheus造假数据的方法
  • 基于游标的分页接口实现
  • 记一次和乔布斯合作最难忘的经历
  • 解析 Webpack中import、require、按需加载的执行过程
  • 如何设计一个微型分布式架构?
  • postgresql行列转换函数
  • 我们雇佣了一只大猴子...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • #1015 : KMP算法
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • $().each和$.each的区别
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (6)STL算法之转换
  • (分布式缓存)Redis哨兵
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)编辑寄语:因为爱心,所以美丽
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .Net Winform开发笔记(一)
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET下ASPX编程的几个小问题
  • .net与java建立WebService再互相调用
  • .Net组件程序设计之线程、并发管理(一)
  • /proc/vmstat 详解