C ++ F32包含文件?

时间:2012-01-23 00:04:26

标签: c++ include cstdint

我刚刚开始编写自己的内存管理器,但要做到这一点,我需要某种类型的包含文件来创建f32(浮点整数)。

我的计划已经#include <cstdint>,但我不确定F32I32对此有何需要。

1 个答案:

答案 0 :(得分:2)

AFAIK目前还没有标准化的方法来获得固定宽度的浮点类型 - 我认为因为,与整数类型不同,floatdouble或多或少都是相同的(32位{ {1}},64位float,具有“奇怪”FP类型的单独类型。

但是,如果你想要更加确定,你可以在创建typedef之前做一个静态断言:

double

通过这种方式,在“理智”平台上,这将完美无缺,而在“奇怪”平台上,它将无法编译,让您有机会添加特定于平台的#include <climits> static_assert(sizeof(float)*CHAR_BIT==32, "float is not 32 bit on this architecture, fix the f32 typedef."); typedef float f32;

至于I32,它足以包含typedef并创建你的typedef:

<cstdint>