首页 > 编程笔记 > C语言笔记 > C语言函数大全 阅读:1,567

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

C语言 frexp() 函数用来提取一个浮点数(小数)的指数部分和尾数部分。

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

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

头文件:math.h

语法/原型:

double frexp(double x, int *exponent)

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

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

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

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注

所有教程

优秀文章