RINT - Linux手册页
Linux程序员手册 第3部分
更新日期: 2017-09-15
名称
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
- _ISOC99_SOURCE || _POSIX_C_SOURCE>= 200112L || _XOPEN_SOURCE>= 500 || / *自glibc 2.19起:* / -_DEFAULT_SOURCE || / * Glibc版本
rintl():
- _ISOC99_SOURCE || _POSIX_C_SOURCE>= 200112L || / *自glibc 2.19起:* / -_DEFAULT_SOURCE || / * Glibc版本
说明
nearingint(),neighborintf()和neighborintl()函数使用当前的舍入方向(请参阅fesetround(3))将其参数舍入为浮点格式的整数值,而不会引发不精确的异常。当前舍入方向最接近时,这些功能将根据IEEE-754将中间情况舍入为偶数整数。
rint(),rintf()和rintl()函数的功能相同,但是当结果的值与参数值不同时,将引发不精确的异常(FE_INEXACT,可通过fetestexcept(3)进行检查)。
返回值
这些函数返回舍入的整数值。
如果x为整数,+ 0,-0,NaN或无穷大,则返回x本身。
错误说明
没有错误发生。 POSIX.1-2001记录了溢出的范围错误,但请参阅注意。
属性
有关本节中使用的术语的说明,请参见attribute(7)。
Interface | Attribute | Value |
nearbyint(),nearbyintf(), nearbyintl(),rint(), rintf(),rintl() | Thread safety | MT-Safe |
遵循规范
C99,POSIX.1-2001,POSIX.1-2008。
备注
SUSv2和POSIX.1-2001包含有关溢出的文本(这可能会将errno设置为ERANGE,或引发FE_OVERFLOW异常)。在实践中,结果不会在任何当前计算机上溢出,因此这种错误处理内容只是胡说八道。 (更确切地说,仅当指数的最大值小于尾数位数时,才可能发生溢出。对于IEEE-754标准的32位和64位浮点数,指数的最大值为128(分别为1024)和尾数位数为24(分别为53)。
如果要将舍入后的值存储为整数类型,则可能要使用lrint(3)中描述的函数之一。
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。