编译十进制浮点程序

注: 本主题不适用于由 xlclang/xlclang + +调用的 IBM® XL C/C++ for AIX®的基于 Clang 的前端。

如果要在程序中使用十进制浮点格式,请在编译这些格式时使用 -qdfp 选项 并定义 __STDC_WANT_DEC_FP__ 宏

例如,要编译 dfp_hello.c,请使用以下编译器调用:
xlc dfp_hello.c -qdfp -qarch=pwr7 -D__STDC_WANT_DEC_FP__
#include <stdio.h>
#include <float.h>
int main() {
   printf("Hello DFP World\n");
   printf("DEC32_MAX = %Hf\n",DEC32_MAX);
   float f = 12.34df;
   printf("12.34df as a float = %f\n",f);
 }

除了在命令行上定义 __STDC_WANT_DEC_FP__ 宏外,还可以使用 #define 伪指令在源文件中定义此宏。