[c++] 固定大小的浮点类型


Answers

如果您想知道您的float是否是IEEE 32位类型,请检查std::numeric_limits<float>::is_iec559 。 它是一个编译时常量,而不是函数。

如果你想要更加防弹,还要检查std::numeric_limits<float>::digits ,以确保它们不会偷偷使用float的IEEE标准双精度。 它应该是24。

当涉及到long double ,检查digits更为重要,因为有几种IEEE格式可能是合理的:128位(数字= 113)或80位(数字= 64)。

拥有float32_t是不切实际的,因为你通常想要使用浮点硬件(如果可用),而不是依赖于软件实现。

Question

stdint.h (C99), boost/cstdint.hppcstdint (C ++ 0x)头文件中,除其他外,还有int32_t类型。

是否有类似的固定大小浮点类型? 像float32_t这样的float32_t







Links