为什么 C++ 没有 <cstdfloat> 标头用于浮点数,就像它有 <cstdint> 用于整数一样?
编辑 :
<cstdfloat> 我的意思是为 float 和 double 提供 typedef 的标头。很像 Qt 中的 qreal typedef。希望我的问题现在很清楚。
通常,应用程序需要恰好 16 位的整数来表示位域,但正好有 16 位的浮点数是没有用的。处理整数中的位很容易,所以正好有 16 位很好。操作浮点数中的位需要将其转换为整数,从而使float16
类型变得无关紧要。
出于同样的原因,拥有一个能够存储(并且还执行数学运算)指针的整数类型是有用的,但是谁需要将指针值转换为浮点值,然后对其执行浮点数学运算,然后将其转换回来指向一个指针?
关键是stdint.h
(或cstdint
C++ 中的大多数功能,除了它stdint.h
是 C99 标头并且在技术上不是 C++ 的一部分)不适用于浮点值。
您是否正在寻找<float.h>
它的 C++ 兄弟<cfloat>
?