C++ Math frexp()函数

C++ Math frexp()函数

该函数将浮点数分解为二进制的尾数和一个整数指数。

设浮点数为x,则有以下关系,

x = (significand)*2e

where , ‘e’ is the exponent and ‘significand’ is the binary significand

语法

假设浮点数为’x’,指针为’exp’:

float frexp(float x, int* exp);
double frexp(double x, int* exp);
long double frexp(long double x, int* exp);
double frexp(integral x, int* exp);

参数

x :要拆分为二进制尾数的值。

exp :它是一个指向int的指针,用于存储指数值。

返回值

返回二进制尾数,绝对值位于0.5(包括)和1(不包括)之间。

Parameter Significand exponent
x=0 zero zero
x>=1 positive number positive number
x>= -1 negative number positive number
-1<x<0 negative number negative number
0<x<1 positive number negative number

示例1

让我们来看一个简单的示例,当x的值大于1时。

#include <iostream>
#include<math.h>
using namespace std;
int main()
{
    double x=2;
    int* e;
    cout<<"Value of x is : "<<x<<'\n';
    double significand = frexp(x,e);
    std::cout <<x<<"="<<significand<<" * "<<"2^"<<*e;
    return 0;
}

输出:

Value of x is : 2
2=0.5 * 2^2

在这个示例中,当x的值大于1时,frexp()函数计算一个浮点数的二进制有效数字。

示例2

让我们看一个简单的示例,当x的值为零时。

#include <iostream>
#include<math.h>
using namespace std;
int main()
{
    double x=0;
    int* e;
    cout<<"Value of x is : "<<x<<'\n';
    double significand = frexp(x,e);
    std::cout <<x<<"="<<significand<<" * "<<"2^"<<*e;
    return 0;
}

输出:

Value of x is : 0
0=0 * 2^0

在这个示例中,当x的值为零时,frexp()函数计算浮点数的二进制尾数。

示例3

让我们看一个简单的示例,当x的值介于0和1之间时。

#include <iostream>
#include<math.h>
using namespace std;
int main()
{
    double x=0.4;
    int* e;
    cout<<"Value of x is : "<<x<<'\n';
    double significand = frexp(x,e);
    std::cout <<x<<"="<<significand<<" * "<<"2^"<<*e;
    return 0;
}

输出:

Value of x is : 0.4
0.4=0.8 * 2^-1

在这个示例中,当x的值介于0和1之间时,frexp()函数计算浮点数的二进制尾数。

示例4

让我们看一个简单的示例,当x的值介于-1和0之间时。

#include <iostream>
#include<math.h>
using namespace std;
int main()
{
    double x= -0.1;
    int* e;
    cout<<"Value of x is : "<<x<<'\n';
    double significand = frexp(x,e);
    std::cout <<x<<"="<<significand<<" * "<<"2^"<<*e;
    return 0;
}

输出:

Value of x is : -0.1
-0.1=-0.8 * 2^-3

在这个示例中,当x的值在-1和0之间时,frexp()函数计算浮点数的二进制尾数。

示例5

让我们看一个简单的示例,当x的值小于-1时。

#include <iostream>
#include<math.h>
using namespace std;
int main()
{
    double x= -5;
    int* e;
    cout<<"Value of x is : "<<x<<'\n';
    double significand = frexp(x,e);
    std::cout <<x<<"="<<significand<<" * "<<"2^"<<*e;
    return 0;
}

输出:

Value of x is : -5
-5=-0.625 * 2^3

在这个示例中,当x的值小于-1时,frexp()函数计算浮点数的二进制有效数字。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程