remainder, remainderf, remainderl – вычисление остатка от деления.
Синтаксис:
#include < math.h >
double remainder (double x, double y);
float remainderf (float x, float y);
long double remainderl (long double x, long double y);
Аргументы:
x – делимое.
y - делитель.
Возвращаемое значение:
Остаток от деления x на y.
Если y= 0, то возвращаемому значению присваивается nan, а переменной errno будет присвоен код ошибки EDOM.
Описание:
Функция рассчитывает остаток от деления x на y по формуле x-n*y, где n – это результат деления x на y округленный к ближайшему целому. Если результат деления находится на равных расстояниях от ближайших целых чисел, то округление будет производиться в сторону четного числа.
При этом аргументы и возвращаемое значение функции remainder () задаются числами с плавающей точкой двойной точности (тип double, точность не менее десяти значащих десятичных цифр, разрядность - 64).
Аргументы и возвращаемое значение функции remainderf() задаются числами с плавающей точкой (тип float, точность не менее шести значащих десятичных цифр, разрядность - 32).
Аргументы и возвращаемое значение функции remainderl() задаются числами с плавающей точкой повышенной точности (тип long double, точность не менее десяти значащих десятичных цифр, разрядность - 80).
Пример:
В примере рассчитывается остаток от деления 456.876 на 32.957 с помощью функций remainder, remainderf и remainderl, и результат выводится на консоль. Обратите внимание на точность полученных результатов.
#include < stdio.h > //Для printf
#include < math.h > //Для remainder, remainderf, remainderl
int main (void)
{
//Вывод значения аргумента
printf (“Делимое: 456.876, делитель: 32.957\n”);
//Расчет остатка от деления с помощью функцией remainderf и вывод результата
printf (“remainderf : %.20f\n”, remainderf (456.876, 32.957) );
//Расчет остатка от деления с помощью функцией remainder и вывод результата
printf (“remainder : %.20f\n”, remainder (456.876, 32.957) );
//Расчет остатка от деления с помощью функцией remainderl и вывод результата
printf (“remainderl : %.20Lf\n”, remainderl (456.876, 32.957) );
return 0;
}
| |
Результат:
Делимое: 456.876, делитель: 32.957
remainderf : -4.52200317382812500000
remainder : -4.52200000000003399236
remainderl : -4.52200000000003399236
|
Смотри так же:
fmod, fmodf, fmodl
remainder, remainderf, remainderl
drem, dremf, dreml
remquo, remquof, remquol
|