N2479 C17..C2x工作草案-2020年2月5日ISO / IEC 9899:202x(E):
7.12.3.1 The fpclassify macro:
Synopsis
#include <math.h>
int fpclassify(real-floating x);
为什么fpclassify()
在中定义宏math.h
而不在中定义宏float.h
?
动机/理由/论据是什么?
根据C 2018 5.2.4.2.2,float.h
提供“浮动类型的特征”。因此,它定义了描述类型的宏,例如表征其精度和范围,使用的基数等等。在设计C实现时,所有这些都是固定的。
fpclassify
是对值的运算。结果是根据自变量计算得出的,因此它是值的数学函数,而不是浮点类型的特征。
还请注意,<float.h>
和和<limits.h>
其他头文件分开指定。这两个位于C标准的“环境限制”部分,其中涵盖了C实现的特征。(它们在“库”部分中也作为引用“环境限制”部分的存根列出。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句