当前位置: C语言 -- 标准库 -- <math.h> -- _Decimal32_t

_Decimal32_t类型


描述:

该类型表示至少与_Decimal32类型一样宽的十进制浮点类型。

只有实现定义了宏__STDC_IEC_60559_DFP__,并且用户代码在包含<math.h>头文件前定义了宏__STDC_WANT_IEC_60559_EXT__,该类型才存在。

如果宏DEC_EVAL_METHOD值为0,该类型为_Decimal32类型;如果宏DEC_EVAL_METHOD值为1,该类型为_Decimal64类型;如果宏DEC_EVAL_METHOD值为2,该类型为_Decimal128类型;如果宏DEC_EVAL_METHOD为其它值,该类型由实现定义。

_Decimal32_t类型旨在成为实现中最有效的至少与_Decimal32类型一样宽的类型。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
/*类型_Decimal32_t范例*/

#define __STDC_WANT_IEC_60559_EXT__ 1

#include <float.h>
#include <math.h>
#include <stdio.h>

int main(void)
{
    #ifdef __STDC_IEC_60559_DFP__
        printf("DEC_EVAL_METHOD:%d\n",DEC_EVAL_METHOD);
        printf("_Decimal32:%zu\n",sizeof(_Decimal32));
        printf("_Decimal32_t:%zu\n",sizeof(_Decimal32_t));
    #else
        puts("The implementation does not support decimal floating types.");
    #endif

    return 0;
}


输出:

The implementation does not support decimal floating types.


相关内容:
_Decimal64_t 表示至少与_Decimal64类型一样宽的十进制浮点类型。


主要参考资料:

1、ISO/IEC 9899:2024