打印__float128,不使用quadmath_snprintf

在我关于32位十进制数的浮点/双精度分析的问题中,一个答案说要看一下__float128

我使用它,编译器可以找到它,但我无法打印它,因为编译器找不到标题quadmath.h

所以我的问题是:

  1. __float128是标准的,对吗?
  2. 怎么打印?
  3. 是不是quadmath.h标准?

这些答案没有帮助:

  1. 使用extern C
  2. C ++精度
  3. 印花

裁判也没有帮助。

请注意,我不想使用任何非标准库。

[编辑]

如果这个问题有答案,即使答案是否定的,也会有用。

不,它不是标准 – 既不是类型也不是标题。 这就是该类型具有双下划线(保留名称)的原因。 显然,quadmath.h提供了一个quadmath_snprintf方法。 在C ++中,你当然会使用<<

在GNU-Fortran中工作! 它允许以不同的精度运行相同的程序:单(32位),双(64位),扩展(80位)和四(128位)。 您不必对程序进行任何更改,只需为所有浮点写“实数”即可。 浮点的大小由编译器选项-freal-4-real-8,-freal-4-real-10和-freal-4-real-16设置。