【问题标题】:Why don't we have <cstdfloat> in C++?为什么我们在 C++ 中没有 <cstdfloat> ?
【发布时间】:2009-12-31 20:04:40
【问题描述】:

为什么 C++ 没有 标头用于浮点数,就像它有 用于整数一样?

编辑:

我的意思是为 float 和 double 提供 typedef 的标头。很像 Qt 中的 qreal typedef。希望我的问题现在很清楚。

【问题讨论】:

  • 实际上不是标准 C++ 的一部分
  • 您希望从 cstdint 获得的花车具体是什么?
  • @Neil 虽然会在 C++0x 中添加

标签: c++ cstdint


【解决方案1】:

应用程序通常需要 16 位的整数来表示位域,但只有 16 位的浮点数是没有用的。处理整数中的位很容易,所以正好有 16 位就很好。操作浮点数中的位需要将其转换为整数,这使得 float16 类型变得相当无关紧要。

出于同样的原因,拥有一个能够存储(并且还对其进行数学运算)指针的整数类型很有用,但是谁需要将指针值转换为浮点值,然后对其执行浮点数学运算,然后将其转换回指针?

关键是stdint.h(或C++ 的cstdint,除了stdint.h 是C99 标头并且在技术上不是C++ 的一部分)中的大部分功能不适用于浮点值。

【讨论】:

    【解决方案2】:

    您是否正在寻找 &lt;float.h&gt; 及其 C++ 兄弟 &lt;cfloat&gt;

    【讨论】:

    • 是另一回事。我说的是为 float 和 double 提供 typedef 的标头。很像 Qt 中的 qreal typedef。希望你现在明白我的问题。
    • 那么你应该在你的问题中指定它。你的问题非常模糊。
    • @Rosenfield:对不起。现在编辑我的问题。
    猜你喜欢
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多