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


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

    函数 
    <cmath>
    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
    头文件提供了该函数的泛型类型的宏版本。 
    C++11
    在此头文件()中为整型(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      /* printf */
    #include       /* fegetround, FE_* */
    #include       /* 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;
    }
    可能的输出:

  • 相关阅读:
    表关联查询
    stream流相关操作
    【无标题】
    练习题57:接口的语法特征
    【微软技术栈】C#.NET 内置数值转换
    vue-pdf(v4.3.0)
    JAVA多线程(5)
    ESP32蓝牙实例-BLE服务器与电池电源指示
    【Django】开发日报_1.1_Day:模板语法
    vue.js实现自定义tab滑动切换效果
  • 原文地址:https://blog.csdn.net/weixin_40186813/article/details/127073153