Назва

floor, floorf, floorl - отримує найбільше ціле значення, але не більше за самий аргумент

Огляд

#include <math.h>

double floor(double x);
float floorf(float x);
long double floorl(long double x);

Опис

Ці функції округляють x униз до найближчого цілого.

Повернені значення

Округлене ціле значення. Якщо x є цілим або нескінченістю, повертається саме x.

Коди помилок

Жодних помилок, окрім EDOM і ERANGE, не відбувається. Якщо x являється NaN (не числом), тоді повертається NaN і errno може бути встановлено до EDOM.

Примітки

SUSv2 і POSIX 1003.1-2001 містять текст з інформацією про помилку переповнення (яка може встановити errno до ERANGE або викликати виняткову помилку). У дійсності, результати не можуть викликати помилку переповнення на жодній з сучасних машин, отже ці згадування про помилки просто нісенітниця. (Якщо точніше, переповнення може статися тільки за умови, що максимальне значення експоненти менше за кількість бітів мантиси. Згідно зі стандартом IEEE-754, максимальне значення експоненти 32-бітних і 64-бітних чисел з плаваючою точкою дорівнює 128 (і відповідно 1024), а число бітів мантиси дорівнює 24 (і відповідно 53).)

Відповідність стандартам

Функція floor() відповідає стандартам SVID 3, POSIX, BSD 4.3, ISO 9899. Інші функції відповідають стандартові C99.

Дивіться також

ceil(3), ?lrint(3), ?nearbyint(3), ?rint(3), ?round(3), ?trunc(3)