C library function -sinh()

C standard library - <math.h>

Description

C Library Functionsdouble sinh(double x)returnxhyperbolic sine of.

sinh()is the C standard library<math.h>A function used to calculate the hyperbolic sine of a number. The hyperbolic sine function (sinh) has wide applications in many mathematical, physical, and engineering fields.

The definition of the hyperbolic sine function is:

Declaration

The following is the declaration of the sinh() function.

#include <math.h>

double sinh(double x);
float sinhf(float x);
long double sinhl(long double x);

Parameter

  • x-- the input real number, representing the argument of the hyperbolic sine function.

Return Value

This function returns the hyperbolic sine of x.

Example

The following example demonstrates the usage of the sinh() function.

Example

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

int main ()
{
   double x, ret;
   x = 0.5;

   ret = sinh(x);
   printf("The hyperbolic sine of %lf is %lf degrees", x, ret);
   
   return(0);
}

Let us compile and run the above program, this will produce the following result:

0.500000 的双曲正弦是 0.521095 度

Calculate the hyperbolic sine of multiple values

The following example demonstrates how to calculate the hyperbolic sine of multiple values:

Example

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

int main() {
    double values[] = {0, 0.5, 1, 1.5, 2};
    int num_values = sizeof(values) / sizeof(values[0]);

    for (int i = 0; i < num_values; i++) {
        double x = values[i];
        double result = sinh(x);
        printf("sinh(%f) = %f\n", x, result);
    }

    return 0;
}

Code explanation

  • Define an array containing multiple valuesvalues。
  • UsageforLoop through each value, calculate the hyperbolic sine value, and print the result.

Let us compile and run the above program, this will produce the following result:

sinh(0.000000) = 0.000000
sinh(0.500000) = 0.521095
sinh(1.000000) = 1.175201
sinh(1.500000) = 2.129279
sinh(2.000000) = 3.626860

Error Handling

sinh()When the input value is too large, the function may cause overflow. In this case, the function returns positive infinity or negative infinity, anderrnoSet toERANGE. You can useerrnoto check whether an overflow error has occurred.

The following example demonstrates how to handle overflow errors:

Example

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

int main() {
    double x = 1000.0;
    errno = 0;  // Reset errno
    double result = sinh(x);

    if (errno == ERANGE) {
        printf("Overflow error: sinh(%f) result is out of range.\n", x);
    } else {
        printf("sinh(%f) = %f\n", x, result);
    }

    return 0;
}

Code explanation

  • The code attempts to calculatesinh(1000.0), this is an input value that may cause overflow.
  • errnois reset to 0, and then callsinh(x)。
  • CheckserrnoWhether it equalsERANGE, if so, print an overflow error message.
  • If there is no error, then print the calculation result.

Let us compile and run the above program, this will produce the following result:

sinh(1000.000000) = inf

Summary

sinh()The function is used to calculate the hyperbolic sine of a given value, and is an important tool for handling hyperbolic function operations. When using it, you should pay attention to handling possible overflow errors. By reasonable usesinh()function, can obtain accurate results in mathematical calculations, physical simulations, and engineering applications.

C standard library - <math.h>

other extensions