Función de la biblioteca C -fmod()

C 标准库 - <math.h>Biblioteca estándar de C - <math.h>

Descripción

Función de la biblioteca Cdouble fmod(double x, double y)Devuelvexdividido poryel resto.

fmod()es la biblioteca estándar de C<math.h>una función en, utilizada para calcular el resto de la división de dos números de punto flotante. Esta función devuelve el resto de la operación de división, el cual tiene el mismo signo que el dividendo.

Declaración

A continuación se muestra la declaración de la función fmod().

double fmod(double x, double y)

Parámetros

  • x: el dividendo, un número de punto flotante.
  • y: el divisor, un número de punto flotante.

Valor de retorno

  • Devuelvexdividido poryel resto de, cuyo signo es el mismo quexes el mismo.
  • Siyes 0, el resultado no está definido y puede producirse un error de cálculo.

Ejemplo

El siguiente ejemplo demuestra el uso de la función fmod().

Ejemplo

#include <stdio.h>
#include <math.h>

int main ()
{
   float a, b;
   int c;
   a = 9.2;
   b = 3.7;
   c = 2;
   printf("El resto de %f / %d es %lf\n", a, c, fmod(a,c));
   printf("El resto de %f / %f es %lf\n", a, b, fmod(a,b));
   
   return(0);
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

9.200000 / 2 的余数是 1.200000
9.200000 / 3.700000 的余数是 1.800000

Cálculo del resto para múltiples valores

El siguiente ejemplo muestra cómo realizar el cálculo del resto para múltiples valores:

Ejemplo

#include <stdio.h>
#include <math.h>

int main() {
    double numerators[] = {5.3, 7.1, -4.2, 10.0};
    double denominators[] = {2.0, 3.0, 2.5, -3.5};
    int num_values = sizeof(numerators) / sizeof(numerators[0]);

    for (int i = 0; i < num_values; i++) {
        double x = numerators[i];
        double y = denominators[i];
        double result = fmod(x, y);

        printf("fmod(%f, %f) = %f\n", x, y, result);
    }

    return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

fmod(5.300000, 2.000000) = 1.300000
fmod(7.100000, 3.000000) = 1.100000
fmod(-4.200000, 2.500000) = -1.700000
fmod(10.000000, -3.500000) = 3.000000

Análisis del código

  • Definir dos arrays que contienen varios números de punto flotantenumeratorsydenominators, que representan respectivamente el dividendo y el divisor.
  • Usandoforun bucle para recorrer cada par de dividendo y divisor, llamando afmod(x, y)la función para realizar el cálculo del resto.
  • Imprimir el resultado del cálculo del resto para cada par de valores.

Casos de uso

fmod()La función tiene una amplia variedad de usos en muchas aplicaciones, incluyendo, entre otros:

  • Calcular el resto de números de punto flotante para la simulación de fenómenos periódicos.
  • Implementar operaciones cíclicas, como el cálculo periódico de ángulos.
  • Manejar transformaciones de coordenadas y condiciones de contorno en programación gráfica y de juegos.

Resumen

fmod()La función se utiliza para calcular el resto de la división de dos números de punto flotante, y es una herramienta importante para manejar el cálculo del resto de números de punto flotante. Mediante el uso adecuado defmod(), se puede lograr un procesamiento preciso del resto de números de punto flotante en cálculos científicos, aplicaciones de ingeniería y programación gráfica.

C 标准库 - <math.h>Biblioteca estándar de C - <math.h>

Otras extensiones