10

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

编辑 :

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

4

2 回答 2

7

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

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

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

于 2009-12-31T20:20:46.753 回答
3

您是否正在寻找<float.h>它的 C++ 兄弟<cfloat>

于 2009-12-31T20:07:56.687 回答