为什么我们在C ++中没有<cstdfloat>?</cstdfloat>

时间:2009-12-31 20:04:41

标签: c++ cstdint

为什么C ++没有&lt; cstdfloat&gt;浮点数的标题,如它有&lt; cstdint&gt;整数?

编辑:

由&lt; cstdfloat&gt;我的意思是为float和double提供typedef的标头。就像Qt中的qreal typedef一样。希望我的问题现在很明确。

2 个答案:

答案 0 :(得分:6)

一个应用程序通常需要16位来表示一个整数,比如一个位域,但是对于一个浮点只有16位是没用的。在整数中操作位很容易,所以恰好有16位很好。在浮点数中操作位需要将其转换为整数,使float16类型相当无关。

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

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

答案 1 :(得分:2)

您是在寻找<float.h>及其C ++兄弟<cfloat>吗?