企业网站设计分类,网页界面设计使用色彩的作用是什么,做网盟的网站必须备案,厦门建网站公司数值极限
std::numeric_limits
定义于头文件 limits 定义于头文件 limits template class T class numeric_limits;
numeric_limits 类模板提供查询各种算术类型属性的标准化方式#xff08;例如 int 类型的最大可能值是 std::numeric_limitslimits 定义于头文件 limits template class T class numeric_limits;
numeric_limits 类模板提供查询各种算术类型属性的标准化方式例如 int 类型的最大可能值是 std::numeric_limitsint::max() 。
10 的该数次幂是合法正规浮点值的最小负数
std::numeric_limitsT::min_exponent10 static const int min_exponent10; (C11 前) static constexpr int min_exponent10; (C11 起)
std::numeric_limitsT::min_exponent10 的值是满足 10n是浮点类型 T 的合法正规值的最低负数 n 。
标准特化
Tstd::numeric_limitsT::min_exponent10 的值/* non-specialized */0bool0char0signed char0unsigned char0wchar_t0char8_t0char16_t0char32_t0short0unsigned short0int0unsigned int0long0unsigned long0long long0unsigned long long0floatFLT_MIN_10_EXPdoubleDBL_MIN_10_EXPlong doubleLDBL_MIN_10_EXP
调用示例
#include iostream
#include string
#include limits
#include cstdint
#include cfloatstruct SName
{
};//偏特化
struct SPartSpec
{
};namespace std
{
template
struct numeric_limitsSPartSpec
{static _GLIBCXX_USE_CONSTEXPR bool is_specialized true;static _GLIBCXX_USE_CONSTEXPR bool is_signed true;static _GLIBCXX_USE_CONSTEXPR bool is_integer true;static _GLIBCXX_USE_CONSTEXPR bool is_exact true;static _GLIBCXX_USE_CONSTEXPR bool has_infinity true;static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN true;static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN true;static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm denorm_present;static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss true;static _GLIBCXX_USE_CONSTEXPR float_round_style round_style round_toward_neg_infinity;static _GLIBCXX_USE_CONSTEXPR bool is_iec559 true;static _GLIBCXX_USE_CONSTEXPR bool is_bounded true;static _GLIBCXX_USE_CONSTEXPR bool is_modulo true;static _GLIBCXX_USE_CONSTEXPR int digits CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int digits10 CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int max_digits10 DECIMAL_DIG;static _GLIBCXX_USE_CONSTEXPR int radix FLT_RADIX;static _GLIBCXX_USE_CONSTEXPR int min_exponent FLT_MIN_EXP;static _GLIBCXX_USE_CONSTEXPR int min_exponent10 FLT_MIN_10_EXP;
};
}int main()
{std::cout std::boolalpha;std::cout std::numeric_limitsbool::min_exponent10: std::numeric_limitsbool::min_exponent10 std::endl;std::cout std::numeric_limitschar::min_exponent10: std::numeric_limitschar::min_exponent10 std::endl;std::cout std::numeric_limitssigned char::min_exponent10: std::numeric_limitssigned char::min_exponent10 std::endl;std::cout std::numeric_limitsunsigned char::min_exponent10: std::numeric_limitsunsigned char::min_exponent10 std::endl;std::cout std::numeric_limitswchar_t::min_exponent10: std::numeric_limitswchar_t::min_exponent10 std::endl;std::cout std::numeric_limitschar16_t::min_exponent10: std::numeric_limitschar16_t::min_exponent10 std::endl;std::cout std::numeric_limitschar32_t::min_exponent10: std::numeric_limitschar32_t::min_exponent10 std::endl;std::cout std::numeric_limitsshort::min_exponent10: std::numeric_limitsshort::min_exponent10 std::endl;std::cout std::numeric_limitsunsigned short::min_exponent10: std::numeric_limitsunsigned short::min_exponent10 std::endl;std::cout std::numeric_limitsint::min_exponent10: std::numeric_limitsint::min_exponent10 std::endl;std::cout std::numeric_limitsunsigned int::min_exponent10: std::numeric_limitsunsigned int::min_exponent10 std::endl;std::cout std::numeric_limitslong::min_exponent10: std::numeric_limitslong::min_exponent10 std::endl;std::cout std::numeric_limitsunsigned long::min_exponent10: std::numeric_limitsunsigned long::min_exponent10 std::endl;std::cout std::numeric_limitslong long::min_exponent10: std::numeric_limitslong long::min_exponent10 std::endl;std::cout std::numeric_limitsunsigned long long::min_exponent10: std::numeric_limitsunsigned long long::min_exponent10 std::endl;std::cout std::numeric_limitsfloat::min_exponent10: std::numeric_limitsfloat::min_exponent10 std::endl;std::cout std::numeric_limitsdouble::min_exponent10: std::numeric_limitsdouble::min_exponent10 std::endl;std::cout std::numeric_limitslong double::min_exponent10: std::numeric_limitslong double::min_exponent10 std::endl;std::cout std::numeric_limitsstd::string::min_exponent10: std::numeric_limitsstd::string::min_exponent10 std::endl;std::cout std::numeric_limitsSName::min_exponent10: std::numeric_limitsSName::min_exponent10 std::endl;std::cout std::numeric_limitsSPartSpec::min_exponent10: std::numeric_limitsSPartSpec::min_exponent10 std::endl;return 0;
}
输出 底的该数次幂是合法有限浮点值的最大整数加一
std::numeric_limitsT::max_exponent static const int max_exponent; (C11 前) static constexpr int max_exponent; (C11 起)
std::numeric_limitsT::max_exponent 的值是满足 rn-1是浮点类型 T 的可表示有限值最大正整数 n 其中 r 是 std::numeric_limitsT::radix 。
标准特化
Tstd::numeric_limitsT::max_exponent 的值/* non-specialized */0bool0char0signed char0unsigned char0wchar_t0char8_t0char16_t0char32_t0short0unsigned short0int0unsigned int0long0unsigned long0long long0unsigned long long0floatFLT_MAX_EXPdoubleDBL_MAX_EXPlong doubleLDBL_MAX_EXP
调用示例
#include iostream
#include string
#include limits
#include cstdint
#include cfloatstruct SName
{
};//偏特化
struct SPartSpec
{
};namespace std
{
template
struct numeric_limitsSPartSpec
{static _GLIBCXX_USE_CONSTEXPR bool is_specialized true;static _GLIBCXX_USE_CONSTEXPR bool is_signed true;static _GLIBCXX_USE_CONSTEXPR bool is_integer true;static _GLIBCXX_USE_CONSTEXPR bool is_exact true;static _GLIBCXX_USE_CONSTEXPR bool has_infinity true;static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN true;static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN true;static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm denorm_present;static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss true;static _GLIBCXX_USE_CONSTEXPR float_round_style round_style round_toward_neg_infinity;static _GLIBCXX_USE_CONSTEXPR bool is_iec559 true;static _GLIBCXX_USE_CONSTEXPR bool is_bounded true;static _GLIBCXX_USE_CONSTEXPR bool is_modulo true;static _GLIBCXX_USE_CONSTEXPR int digits CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int digits10 CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int max_digits10 DECIMAL_DIG;static _GLIBCXX_USE_CONSTEXPR int radix FLT_RADIX;static _GLIBCXX_USE_CONSTEXPR int min_exponent FLT_MIN_EXP;static _GLIBCXX_USE_CONSTEXPR int min_exponent10 FLT_MIN_10_EXP;static _GLIBCXX_USE_CONSTEXPR int max_exponent FLT_MAX_EXP;
};
}int main()
{std::cout std::boolalpha;std::cout std::numeric_limitsbool::max_exponent: std::numeric_limitsbool::max_exponent std::endl;std::cout std::numeric_limitschar::max_exponent: std::numeric_limitschar::max_exponent std::endl;std::cout std::numeric_limitssigned char::max_exponent: std::numeric_limitssigned char::max_exponent std::endl;std::cout std::numeric_limitsunsigned char::max_exponent: std::numeric_limitsunsigned char::max_exponent std::endl;std::cout std::numeric_limitswchar_t::max_exponent: std::numeric_limitswchar_t::max_exponent std::endl;std::cout std::numeric_limitschar16_t::max_exponent: std::numeric_limitschar16_t::max_exponent std::endl;std::cout std::numeric_limitschar32_t::max_exponent: std::numeric_limitschar32_t::max_exponent std::endl;std::cout std::numeric_limitsshort::max_exponent: std::numeric_limitsshort::max_exponent std::endl;std::cout std::numeric_limitsunsigned short::max_exponent: std::numeric_limitsunsigned short::max_exponent std::endl;std::cout std::numeric_limitsint::max_exponent: std::numeric_limitsint::max_exponent std::endl;std::cout std::numeric_limitsunsigned int::max_exponent: std::numeric_limitsunsigned int::max_exponent std::endl;std::cout std::numeric_limitslong::max_exponent: std::numeric_limitslong::max_exponent std::endl;std::cout std::numeric_limitsunsigned long::max_exponent: std::numeric_limitsunsigned long::max_exponent std::endl;std::cout std::numeric_limitslong long::max_exponent: std::numeric_limitslong long::max_exponent std::endl;std::cout std::numeric_limitsunsigned long long::max_exponent: std::numeric_limitsunsigned long long::max_exponent std::endl;std::cout std::numeric_limitsfloat::max_exponent: std::numeric_limitsfloat::max_exponent std::endl;std::cout std::numeric_limitsdouble::max_exponent: std::numeric_limitsdouble::max_exponent std::endl;std::cout std::numeric_limitslong double::max_exponent: std::numeric_limitslong double::max_exponent std::endl;std::cout std::numeric_limitsstd::string::max_exponent: std::numeric_limitsstd::string::max_exponent std::endl;std::cout std::numeric_limitsSName::max_exponent: std::numeric_limitsSName::max_exponent std::endl;std::cout std::numeric_limitsSPartSpec::max_exponent: std::numeric_limitsSPartSpec::max_exponent std::endl;return 0;
} 输出 10 的该数次幂是合法有限浮点值的最大整数
std::numeric_limitsT::max_exponent10
std::numeric_limitsT::max_exponent10 的值是满足 10n是浮点类型 T 的可表示有限值的最大正整数 n 。
标准特化
Tstd::numeric_limitsT::max_exponent10 的值/* non-specialized */0bool0char0signed char0unsigned char0wchar_t0char8_t0char16_t0char32_t0short0unsigned short0int0unsigned int0long0unsigned long0long long0unsigned long long0floatFLT_MAX_10_EXPdoubleDBL_MAX_10_EXPlong doubleLDBL_MAX_10_EXP
调用示例
#include iostream
#include string
#include limits
#include cstdint
#include cfloatstruct SName
{
};//偏特化
struct SPartSpec
{
};namespace std
{
template
struct numeric_limitsSPartSpec
{static _GLIBCXX_USE_CONSTEXPR bool is_specialized true;static _GLIBCXX_USE_CONSTEXPR bool is_signed true;static _GLIBCXX_USE_CONSTEXPR bool is_integer true;static _GLIBCXX_USE_CONSTEXPR bool is_exact true;static _GLIBCXX_USE_CONSTEXPR bool has_infinity true;static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN true;static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN true;static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm denorm_present;static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss true;static _GLIBCXX_USE_CONSTEXPR float_round_style round_style round_toward_neg_infinity;static _GLIBCXX_USE_CONSTEXPR bool is_iec559 true;static _GLIBCXX_USE_CONSTEXPR bool is_bounded true;static _GLIBCXX_USE_CONSTEXPR bool is_modulo true;static _GLIBCXX_USE_CONSTEXPR int digits CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int digits10 CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int max_digits10 DECIMAL_DIG;static _GLIBCXX_USE_CONSTEXPR int radix FLT_RADIX;static _GLIBCXX_USE_CONSTEXPR int min_exponent FLT_MIN_EXP;static _GLIBCXX_USE_CONSTEXPR int min_exponent10 FLT_MIN_10_EXP;static _GLIBCXX_USE_CONSTEXPR int max_exponent FLT_MAX_EXP;static _GLIBCXX_USE_CONSTEXPR int max_exponent10 FLT_MAX_EXP;
};
}int main()
{std::cout std::boolalpha;std::cout std::numeric_limitsbool::max_exponent10: std::numeric_limitsbool::max_exponent10 std::endl;std::cout std::numeric_limitschar::max_exponent10: std::numeric_limitschar::max_exponent10 std::endl;std::cout std::numeric_limitssigned char::max_exponent10: std::numeric_limitssigned char::max_exponent10 std::endl;std::cout std::numeric_limitsunsigned char::max_exponent10: std::numeric_limitsunsigned char::max_exponent10 std::endl;std::cout std::numeric_limitswchar_t::max_exponent10: std::numeric_limitswchar_t::max_exponent10 std::endl;std::cout std::numeric_limitschar16_t::max_exponent10: std::numeric_limitschar16_t::max_exponent10 std::endl;std::cout std::numeric_limitschar32_t::max_exponent10: std::numeric_limitschar32_t::max_exponent10 std::endl;std::cout std::numeric_limitsshort::max_exponent10: std::numeric_limitsshort::max_exponent10 std::endl;std::cout std::numeric_limitsunsigned short::max_exponent10: std::numeric_limitsunsigned short::max_exponent10 std::endl;std::cout std::numeric_limitsint::max_exponent10: std::numeric_limitsint::max_exponent10 std::endl;std::cout std::numeric_limitsunsigned int::max_exponent10: std::numeric_limitsunsigned int::max_exponent10 std::endl;std::cout std::numeric_limitslong::max_exponent10: std::numeric_limitslong::max_exponent10 std::endl;std::cout std::numeric_limitsunsigned long::max_exponent10: std::numeric_limitsunsigned long::max_exponent10 std::endl;std::cout std::numeric_limitslong long::max_exponent10: std::numeric_limitslong long::max_exponent10 std::endl;std::cout std::numeric_limitsunsigned long long::max_exponent10: std::numeric_limitsunsigned long long::max_exponent10 std::endl;std::cout std::numeric_limitsfloat::max_exponent10: std::numeric_limitsfloat::max_exponent10 std::endl;std::cout std::numeric_limitsdouble::max_exponent10: std::numeric_limitsdouble::max_exponent10 std::endl;std::cout std::numeric_limitslong double::max_exponent10: std::numeric_limitslong double::max_exponent10 std::endl;std::cout std::numeric_limitsstd::string::max_exponent10: std::numeric_limitsstd::string::max_exponent10 std::endl;std::cout std::numeric_limitsSName::max_exponent10: std::numeric_limitsSName::max_exponent10 std::endl;std::cout std::numeric_limitsSPartSpec::max_exponent10: std::numeric_limitsSPartSpec::max_exponent10 std::endl;return 0;
}
输出