返回值

这些函数返回舍入的整数值。

如果x为整数,+ 0,-0,NaN或无穷大,则返回x本身。

名称

nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl -舍入到最接近的整数

语法

#include <math.h>

double nearbyint(double x);
float nearbyintf(float x);
long double nearbyintl(long double x);

double rint(double x);
float rintf(float x);
long double rintl(long double x);

与-lm链接。

glibc的功能测试宏要求(请参阅feature_test_macros(7)):

附近的int(),附近的intf(),附近的intl():

_POSIX_C_SOURCE>= 200112L || _ISOC99_SOURCE
rint():
_ISOC99_SOURCE || _POSIX_C_SOURCE>= 200112L || _XOPEN_SOURCE>= 500 || / *自glibc 2.19起:* / -_DEFAULT_SOURCE || / * Glibc版本
rintf(),

rintl():

_ISOC99_SOURCE || _POSIX_C_SOURCE>= 200112L || / *自glibc 2.19起:* / -_DEFAULT_SOURCE || / * Glibc版本

遵循规范

C99,POSIX.1-2001,POSIX.1-2008。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
nearbyint(),nearbyintf(),
nearbyintl(),rint(),
rintf(),rintl()
Thread safetyMT-Safe

说明

nearingint(),neighborintf()和neighborintl()函数使用当前的舍入方向(请参阅fesetround(3))将其参数舍入为浮点格式的整数值,而不会引发不精确的异常。当前舍入方向最接近时,这些功能将根据IEEE-754将中间情况舍入为偶数整数。

rint(),rintf()和rintl()函数的功能相同,但是当结果的值与参数值不同时,将引发不精确的异常(FE_INEXACT,可通过fetestexcept(3)进行检查)。

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

错误说明

没有错误发生。 POSIX.1-2001记录了溢出的范围错误,但请参阅注意。

备注

SUSv2和POSIX.1-2001包含有关溢出的文本(这可能会将errno设置为ERANGE,或引发FE_OVERFLOW异常)。在实践中,结果不会在任何当前计算机上溢出,因此这种错误处理内容只是胡说八道。 (更确切地说,仅当指数的最大值小于尾数位数时,才可能发生溢出。对于IEEE-754标准的32位和64位浮点数,指数的最大值为128(分别为1024)和尾数位数为24(分别为53)。

如果要将舍入后的值存储为整数类型,则可能要使用lrint(3)中描述的函数之一。

另外参见

ceil(3),floor(3),lrint(3),round(3),trunc(3)

RINT - Linux手册页

Linux程序员手册 第3部分
更新日期: 2017-09-15

日期:2019-08-20 18:00:55 来源:oir作者:oir