椒江网站制作橱柜手机网站模板

当前位置: 首页 > news >正文

椒江网站制作,橱柜手机网站模板,小程序商城图片素材,企业网站建设需注意什么数值极限 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 /​0​bool​0​char​0​signed char​0​unsigned char​0​wchar_t​0​char8_t​0​char16_t​0​char32_t​0​short​0​unsigned short​0​int​0​unsigned int​0​long​0​unsigned long​0​long long​0​unsigned long long​0​floatFLT_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 /​0​bool​0​char​0​signed char​0​unsigned char​0​wchar_t​0​char8_t​0​char16_t​0​char32_t​0​short​0​unsigned short​0​int​0​unsigned int​0​long​0​unsigned long​0​long long​0​unsigned long long​0​floatFLT_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 */​0​bool​0​char​0​signed char​0​unsigned char​0​wchar_t​0​char8_t​0​char16_t​0​char32_t​0​short​0​unsigned short​0​int​0​unsigned int​0​long​0​unsigned long​0​long long​0​unsigned long long​0​floatFLT_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; } 输出