rint(), facetround(), rintf(), rintl() в C++

Опубликовано: 15 Сентября, 2022

В этой статье мы обсудим функции 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, иначе возникает ошибка несоответствия типов .

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше.