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