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