sho*_*tsy 2 c++ floating-point double standards range
据我所知,浮点值的形式为n*2 ^ e,其中
我正在查看C++标准,但未能找到标准指定的位置,或者要求float,double和long double类型与其他(IEEE)标准中定义的范围相关联.我在3.9.1.8中找到的唯一相关内容是:
有三种浮点类型:float,double和long double.double类型提供至少与float一样多的精度,long double类型提供至少与double一样多的精度.float类型的值集是double类型的值集的子集; double类型的值集是long double类型的值集的子集.浮点类型的值表示是实现定义的.
并没有提到该类型提供的最小范围.
标准在何处/如何指定浮点类型的(最小?)值范围?或者编译器可以自由选择任何值范围并且仍然符合标准吗?
你引用的是关于C++中浮点类型的所有保证.正如它所说,他们的表示是实现定义的.
但是,您可以使用std::numeric_limits
模板查询有关限制的信息以及类型是否为IEC 559(IEEE 754)指定类型<limits>
.