c++ - 如何提取 double 的尾数

标签 c++ double

我想将 double 的尾数存储在一个变量中

我发布了一个代码来获取 double 的二进制表示:click here

我应该改变什么来隔离尾数

最佳答案

<math.h>

double frexp (double value, int *exp)

将 VALUE 分解为指数和尾数。

double ldexp (double value, int exp)

反之。

要获得一个整数值,您必须将 frexp 的结果乘以 FLT_RADIX 指数 DBL_MANT_DIG(这些在 <float.h> 中可用。要将其存储在整数变量中,您还需要找到一个合适的类型(通常是 64位类型)

如果您想处理某些实现提供的 128 位长 double,则需要 C99 frexpl 进行拆分,然后您可能没有足够的整数类型来存储完整结果。

关于c++ - 如何提取 double 的尾数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5672960/

相关文章:

c++ - 是否在COPYING中包括如何使用GPL?

java - Main.java 以及简单的静态 double 计算

css - 如何摆脱第二个滚动条?

java - 如何返回在 switch 语句中找到的值 Java

c++ - 如何在 Qt 中打印所有小数点的 double 值?

c++ - 在函数内调用 "continue"

c++ - C : display every x milliseconds (OpenGL)

c++ - 在 gdb 中打印对象值

c# - 在 C# 中完成查找的最快方法以及如何处理 double 值的不精确性?

c++ - 一对碰撞几率很低的整数的最小哈希函数是什么?