如何静态断言浮点数是C中的IEEE-754?

时间:2018-11-20 13:28:55

标签: c floating-point ieee-754

我想对浮点表示进行假设,并且我想在编译时使用static_assert验证浮点表示是否为IEEE-754,因为我是通过网络传输它们的。< / p>

如何使用static_assert确保floatdouble类型具有IEEE-754中指定的格式?

1 个答案:

答案 0 :(得分:1)

C99具有宏__STD_IEC_559__,以检查浮点表示是否符合IEEE 754。

问题在于某些编译器未定义此宏。

根据此wikipedia article,您可以进行如下检查:

#ifndef __STDC_IEC_559__ 
puts("Warning: __STDC_IEC_559__ not defined. IEEE 754 floating point not fully supported."); 
// #endif