加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C语言frexp()函数:提取浮点数的尾数和指数部分

发布时间:2020-12-15 17:30:18 所属栏目:百科 来源:网络整理
导读:C语言 frexp() 函数用来提取一个浮点数(小数)的指数部分和尾数部分。 浮点数在内存中存储时被分成三部分,分别是符号位、指数部分和尾数部分,不了解的读者请猛击《小数在内存中是如何存储的,揭秘诺贝尔奖级别的设计(长篇神文)》。 double frexp(double
C语言 frexp() 函数用来提取一个浮点数(小数)的指数部分和尾数部分。

浮点数在内存中存储时被分成三部分,分别是符号位、指数部分和尾数部分,不了解的读者请猛击《小数在内存中是如何存储的,揭秘诺贝尔奖级别的设计(长篇神文)》。

double frexp(double x,int *exponent) 将提取浮点数 x 的尾数部分和指数部分,指数部分被存入参数 exponent 中,尾数部分被放入返回值中,最终 x = mantissa * 2 ^ exponent(mantissa 表示尾数)。

头文件:math.h

语法/原型:

double frexp(double x,int *exponent)

参数说明:
  • x:要被计算的浮点数。
  • exponent:一个指向指数部分的指针。

返回值:浮点数 x 的尾数部分。

【实例】使用C语言?frexp() 函数提取浮点数?19.625 的指数部分和尾数部分。
#include <stdio.h>
#include <math.h>

int main()
{
    int exp;
    double mant = frexp(19.625,&exp);
    printf("mant: %.10lfnexp:%dn",mant,exp);
    return 0;
}
运行结果:
mant: 0.6132812500
exp:5

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读