GCC 为固定宽度的 float 提供了 _Float32 和 _Float64。
但是,这些都不是标准的,并且不存在于 clang 中。我也找不到 clang 的等价物。
某些平台可以将 float 或 double 定义为非 32 位或 64 位,因此不能使用这些类型。
最佳答案
回答提出的问题,CLang's documented language extensions不包括 GCC 的 _Float32
和 _Float64
类型的类似物。但是请注意,即使是 GCC 也只在原生支持相应类型的目标上提供这些。
另一方面,由于 clang 构建在 LLVM 之上,因此值得考虑 LLVM's documentation of FP type representations :
The binary format of half, float, double, and fp128 correspond to the IEEE-754-2008 specifications for binary16, binary32, binary64, and binary128 respectively.
从这个意义上说,CLang 的 _Float64
和 _Float32
分别是 double
和 float
。 (事实上 ,对于支持显式宽度版本的几乎所有目标,GCC 中都具有相同的等价性。)
关于c - clang 中是否有固定宽度的 float 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53959754/