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

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

概述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:要被计算的浮点数。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 总结

以上是内存溢出为你收集整理的C语言frexp()函数:提取浮点数的尾数和指数部分全部内容,希望文章能够帮你解决C语言frexp()函数:提取浮点数的尾数和指数部分所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1235071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存