## What is frexp in c programming?

frexp in c is used to calculate the mantissa and the integer pointed to by exponent i.e. x=mantissa*2^exponent.

This function is defined in math.h header file.

### Prototype

`double frexp(double x, int *exponent);`

### Prameters

frexp takes one floating point value, pointer to an int object.

### Return value

It returns mantissa and the integer pointed to by exponent i.e. x=mantissa*2^exponent.

## Example program for frexp in c

```
#include<stdio.h>
#include<math.h>
int main()
{
double x=1000,fract;
int a;
fract=frexp(x,&a);
printf("Fraction is %lf and exponent value is %d\n",fract,a);
return 0;
}
```

While using gcc use below command to add math header.

`gcc file_name.c -lm`

### Code explanation

The mantissa and fractional value of a given number is found by passing it to the frexp function. The result is being printed onto the console.

## Difference between frexp and exp in c

frexp in c is used to calculate the mantissa and the integer pointed to by exponent i.e. x=mantissa*2^exponent. exp function is used to calculate the exponential value of a given number.

frexp takes two parameters. exp takes one parameter.

Prototypes are as follows

```
double frexp(double x, int *exponent);
double exp(double value1);
```

frexp( ) | exp( ) |

Used to calculate the mantissa and the integer pointed to by exponent. | Used to calculate exponential value of a given number. |

`double frexp(double x, int *exponent);` | `double exp(double value1);` |

## People also ask for

### What is the difference between frexp and Idexp in c?

frexp in c is used to calculate the mantissa and the integer pointed to by the exponent. Idexp function is used to calculate x multiplied by 2 raised to the power of the exponent.