rint(), facetround(), rintf(), rintl() в C++
В этой статье мы обсудим функции rint(), fesetround(), rintf() и rintl() в C++.
1) rint(): Это используется для округления аргументов с плавающей запятой до целочисленного значения (в формате с плавающей запятой). Вы также можете определить текущий режим округления с помощью функции fesetround() , в соответствии с которой функция rint возвращает округленное целое значение. Он включен в заголовочный файл <cmath> .
Синтаксис:
double rint(double x); float rint(float x); long double rint(long double x);
Параметры: Функция rint() принимает одно значение аргумента для округления.
Возвращает: по умолчанию направление округления установлено как «к ближайшему», в противном случае функция rint() округляет аргумент до целого значения, используя направление округления, указанное fegetround(), и возвращает значение.
Исключения или ошибки:
- Если результат функции выходит за пределы диапазона возвращаемого типа, может возникнуть ошибка доменной ошибки.
- Если аргумент равен 0, он возвращается без изменений.
- Если аргумент бесконечен , он возвращается без изменений.
Примеры:
Input : 3.3 Output : 3 Input : 3.5 Output : 4 Input : 3.7 Output : 4
2) функция fesetround(): по умолчанию направление округления устанавливается до ближайшего целого числа. Но с помощью функции fesetround() мы можем выбрать направление по нашему выбору. Он включен в заголовочный файл <cfenv> .
Синтаксис:
fesetround(FE_DOWNWARD) fesetround(FE_UPWARD)
Пример:
- Если функция rint() используется с аргументом 3.7, а также используется fesetround(FE_DOWNWARD), вывод будет равен 3.
- Если функция rint() используется с аргументом 3.3, а также используется fesetround(FE_UPWARD), вывод будет равен 4.
3) функция rintf(): функция rintf() аналогична функции rint. Единственное отличие состоит в том, что тип параметра и возвращаемого значения функции — тип float. Символ «f», добавленный к «rintf», означает число с плавающей запятой и означает тип параметра и тип возвращаемого значения функции.
Синтаксис:
float rintf(float x);
Здесь переменным присваивается тип float, иначе возникает ошибка несоответствия типов .
4) функция rintl(): функция rintl() такая же, как и функция rint. Единственное отличие состоит в том, что параметр и тип возвращаемого значения функции имеют тип long double. Символ 'l', добавленный к 'rintl', означает long double и это означает тип параметра и тип возвращаемого значения функции.
Синтаксис:
long double rintl(long double x);
Здесь переменным присваивается тип long double, иначе возникает ошибка несоответствия типов .
Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше.