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

长沙网站开发培训网站上传附件目录格式

长沙网站开发培训,网站上传附件目录格式,有一个网站专门做促销小游戏,个人做淘宝客网站要备案数值极限 提供查询所有基础数值类型的性质的接口 定义于头文件 <limits> template< class T > class numeric_limits; numeric_limits 类模板提供查询各种算术类型属性的标准化方式&#xff08;例如 int 类型的最大可能值是 std::numeric_limits<int>::m…

数值极限

提供查询所有基础数值类型的性质的接口

定义于头文件 <limits>

template< class T > class numeric_limits;

numeric_limits 类模板提供查询各种算术类型属性的标准化方式(例如 int 类型的最大可能值是 std::numeric_limits<int>::max() )。
 

成员函数

返回给定类型的最小有限值

std::numeric_limits<T>::min

static T min() throw();

(C++11 前)

static constexpr T min() noexcept;

(C++11 起)

返回数值类型 T 可表示的最小有限值。

对于有非正规的浮点类型, min 返回最小正正规值。注意此行为可能是非预期的,特别是在与 min 对整数类型的行为比较时。为找到没有比它更小的值的值,请用 numeric_limits::lowest 。

min 仅对有界类型和无界无符号类型意义,即表示负值的无限集的类型无有意义的最小值。

返回值

Tstd::numeric_limits<T>::min()
/* non-specialized */T()
boolfalse
charCHAR_MIN
signed charSCHAR_MIN
unsigned char​0​
wchar_tWCHAR_MIN
char8_t​0​
char16_t​0​
char32_t​0​
shortSHRT_MIN
unsigned short​0​
intINT_MIN
unsigned int​0​
longLONG_MIN
unsigned long​0​
long longLLONG_MIN
unsigned long long​0​
floatFLT_MIN
doubleDBL_MIN
long doubleLDBL_MIN

调用示例

#include <iostream>
#include <string>
#include <limits>
#include <cstdint>
#include <cfloat>struct SName
{
};//偏特化
struct SPartSpec
{
};namespace std
{
template<>
struct numeric_limits<SPartSpec>
{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;static _GLIBCXX_USE_CONSTEXPR bool traps            = true;static _GLIBCXX_USE_CONSTEXPR bool tinyness_before  = true;static _GLIBCXX_CONSTEXPR intmin() _GLIBCXX_USE_NOEXCEPT { return  CHAR_MIN ; }
};
}int main()
{std::cout << std::boolalpha;std::cout << "std::numeric_limits<bool>::min():                 "<< std::numeric_limits<bool>::min() << std::endl;std::cout << "std::numeric_limits<char>::min():                 "<< std::numeric_limits<char>::min() << std::endl;std::cout << "std::numeric_limits<signed char>::min():          "<< std::numeric_limits<signed char>::min() << std::endl;std::cout << "std::numeric_limits<unsigned char>::min():        "<< std::numeric_limits<unsigned char>::min() << std::endl;std::cout << "std::numeric_limits<wchar_t>::min():              "<< std::numeric_limits<wchar_t>::min() << std::endl;std::cout << "std::numeric_limits<char16_t>::min():             "<< std::numeric_limits<char16_t>::min() << std::endl;std::cout << "std::numeric_limits<char32_t>::min():             "<< std::numeric_limits<char32_t>::min() << std::endl;std::cout << "std::numeric_limits<short>::min():                "<< std::numeric_limits<short>::min() << std::endl;std::cout << "std::numeric_limits<unsigned short>::min():       "<< std::numeric_limits<unsigned short>::min() << std::endl;std::cout << "std::numeric_limits<int>::min():                  "<< std::numeric_limits<int>::min() << std::endl;std::cout << "std::numeric_limits<unsigned int>::min():         "<< std::numeric_limits<unsigned int>::min() << std::endl;std::cout << "std::numeric_limits<long>::min():                 "<< std::numeric_limits<long>::min() << std::endl;std::cout << "std::numeric_limits<unsigned long>::min():        "<< std::numeric_limits<unsigned long>::min() << std::endl;std::cout << "std::numeric_limits<long long>::min():            "<< std::numeric_limits<long long>::min() << std::endl;std::cout << "std::numeric_limits<unsigned long long>::min():   "<< std::numeric_limits<unsigned long long>::min() << std::endl;std::cout << "std::numeric_limits<float>::min():                "<< std::numeric_limits<float>::min() << std::endl;std::cout << "std::numeric_limits<double>::min():               "<< std::numeric_limits<double>::min() << std::endl;std::cout << "std::numeric_limits<long double>::min():          "<< std::numeric_limits<long double>::min() << std::endl;std::cout << "std::numeric_limits<std::string>::min():          "<< std::numeric_limits<std::string>::min() << std::endl;//必须偏特化
//    std::cout << "std::numeric_limits<SName>::min():                "
//              << std::numeric_limits<SName>::min() << std::endl;std::cout << "std::numeric_limits<SPartSpec>::min():            "<< std::numeric_limits<SPartSpec>::min() << std::endl;return 0;
}

输出

 

返回给定类型的最低有限值

std::numeric_limits<T>::lowest

static constexpr T lowest() noexcept;

(C++11 起)

返回数值类型 T 可表示的最低有限值,即满足无其他有限值 y 符合 y < x 的有限值 x 。这对于浮点类型不同于 std::numeric_limits<T>::min() 。仅对有界类型有意义。 

返回值

Tstd::numeric_limits<T>::lowest()
/* non-specialized */T();
boolfalse
charCHAR_MIN
signed charSCHAR_MIN
unsigned char​0​
wchar_tWCHAR_MIN
char8_t​0​
char16_t​0​
char32_t​0​
shortSHRT_MIN
unsigned short​0​
intINT_MIN
unsigned int​0​
longLONG_MIN
unsigned long​0​
long longLLONG_MIN
unsigned long long​0​
float-FLT_MAX
double-DBL_MAX
long double-LDBL_MAX

注意

尽管对于基础 C++ 浮点类型非真,可存在满足 std::numeric_limits<T>::lowest() != -std::numeric_limits<T>::max() 的第三方浮点类型 T 。\

调用示例

#include <iostream>
#include <string>
#include <limits>
#include <cstdint>
#include <cfloat>struct SName
{
};//偏特化
struct SPartSpec
{
};namespace std
{
template<>
struct numeric_limits<SPartSpec>
{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;static _GLIBCXX_USE_CONSTEXPR bool traps            = true;static _GLIBCXX_USE_CONSTEXPR bool tinyness_before  = true;static _GLIBCXX_CONSTEXPR intmin() _GLIBCXX_USE_NOEXCEPT { return  CHAR_MIN ; }static _GLIBCXX_CONSTEXPR intlowest() _GLIBCXX_USE_NOEXCEPT { return  CHAR_MIN ; }
};
}int main()
{std::cout << std::boolalpha;std::cout << "std::numeric_limits<bool>::lowest():                 "<< std::numeric_limits<bool>::lowest() << std::endl;std::cout << "std::numeric_limits<char>::lowest():                 "<< std::numeric_limits<char>::lowest() << std::endl;std::cout << "std::numeric_limits<signed char>::lowest():          "<< std::numeric_limits<signed char>::lowest() << std::endl;std::cout << "std::numeric_limits<unsigned char>::lowest():        "<< std::numeric_limits<unsigned char>::lowest() << std::endl;std::cout << "std::numeric_limits<wchar_t>::lowest():              "<< std::numeric_limits<wchar_t>::lowest() << std::endl;std::cout << "std::numeric_limits<char16_t>::lowest():             "<< std::numeric_limits<char16_t>::lowest() << std::endl;std::cout << "std::numeric_limits<char32_t>::lowest():             "<< std::numeric_limits<char32_t>::lowest() << std::endl;std::cout << "std::numeric_limits<short>::lowest():                "<< std::numeric_limits<short>::lowest() << std::endl;std::cout << "std::numeric_limits<unsigned short>::lowest():       "<< std::numeric_limits<unsigned short>::lowest() << std::endl;std::cout << "std::numeric_limits<int>::lowest():                  "<< std::numeric_limits<int>::lowest() << std::endl;std::cout << "std::numeric_limits<unsigned int>::lowest():         "<< std::numeric_limits<unsigned int>::lowest() << std::endl;std::cout << "std::numeric_limits<long>::lowest():                 "<< std::numeric_limits<long>::lowest() << std::endl;std::cout << "std::numeric_limits<unsigned long>::lowest():        "<< std::numeric_limits<unsigned long>::lowest() << std::endl;std::cout << "std::numeric_limits<long long>::lowest():            "<< std::numeric_limits<long long>::lowest() << std::endl;std::cout << "std::numeric_limits<unsigned long long>::lowest():   "<< std::numeric_limits<unsigned long long>::lowest() << std::endl;std::cout << "std::numeric_limits<float>::lowest():                "<< std::numeric_limits<float>::lowest() << std::endl;std::cout << "std::numeric_limits<double>::lowest():               "<< std::numeric_limits<double>::lowest() << std::endl;std::cout << "std::numeric_limits<long double>::lowest():          "<< std::numeric_limits<long double>::lowest() << std::endl;std::cout << "std::numeric_limits<std::string>::lowest():          "<< std::numeric_limits<std::string>::lowest() << std::endl;//必须偏特化
//    std::cout << "std::numeric_limits<SName>::lowest():                "
//              << std::numeric_limits<SName>::lowest() << std::endl;std::cout << "std::numeric_limits<SPartSpec>::lowest():            "<< std::numeric_limits<SPartSpec>::lowest() << std::endl;return 0;
}

 输出

返回给定类型的最大有限值

std::numeric_limits<T>::max

static T max() throw();

(C++11 前)

static constexpr T max() noexcept;

(C++11 起)

返回数值类型 T 所能表示的最大有限值。对所有有界类型有意义。

返回值

Tstd::numeric_limits<T>::max()
/* non-specialized */T()
booltrue
charCHAR_MAX
signed charSCHAR_MAX
unsigned charUCHAR_MAX
wchar_tWCHAR_MAX
char8_tUCHAR_MAX
char16_tUINT_LEAST16_MAX
char32_tUINT_LEAST32_MAX
shortSHRT_MAX
unsigned shortUSHRT_MAX
intINT_MAX
unsigned intUINT_MAX
longLONG_MAX
unsigned longULONG_MAX
long longLLONG_MAX
unsigned long longULLONG_MAX
floatFLT_MAX
doubleDBL_MAX
long doubleLDBL_MAX

调用示例

#include <iostream>
#include <string>
#include <limits>
#include <cstdint>
#include <cfloat>struct SName
{
};//偏特化
struct SPartSpec
{
};namespace std
{
template<>
struct numeric_limits<SPartSpec>
{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;static _GLIBCXX_USE_CONSTEXPR bool traps            = true;static _GLIBCXX_USE_CONSTEXPR bool tinyness_before  = true;static _GLIBCXX_CONSTEXPR intmin() _GLIBCXX_USE_NOEXCEPT { return  CHAR_MIN ; }static _GLIBCXX_CONSTEXPR intlowest() _GLIBCXX_USE_NOEXCEPT { return  CHAR_MIN ; }static _GLIBCXX_CONSTEXPR intmax() _GLIBCXX_USE_NOEXCEPT { return  CHAR_MAX ; }
};
}int main()
{std::cout << std::boolalpha;std::cout << "std::numeric_limits<bool>::max():                 "<< std::numeric_limits<bool>::max() << std::endl;std::cout << "std::numeric_limits<char>::max():                 "<< std::numeric_limits<char>::max() << std::endl;std::cout << "std::numeric_limits<signed char>::max():          "<< std::numeric_limits<signed char>::max() << std::endl;std::cout << "std::numeric_limits<unsigned char>::max():        "<< std::numeric_limits<unsigned char>::max() << std::endl;std::cout << "std::numeric_limits<wchar_t>::max():              "<< std::numeric_limits<wchar_t>::max() << std::endl;std::cout << "std::numeric_limits<char16_t>::max():             "<< std::numeric_limits<char16_t>::max() << std::endl;std::cout << "std::numeric_limits<char32_t>::max():             "<< std::numeric_limits<char32_t>::max() << std::endl;std::cout << "std::numeric_limits<short>::max():                "<< std::numeric_limits<short>::max() << std::endl;std::cout << "std::numeric_limits<unsigned short>::max():       "<< std::numeric_limits<unsigned short>::max() << std::endl;std::cout << "std::numeric_limits<int>::max():                  "<< std::numeric_limits<int>::max() << std::endl;std::cout << "std::numeric_limits<unsigned int>::max():         "<< std::numeric_limits<unsigned int>::max() << std::endl;std::cout << "std::numeric_limits<long>::max():                 "<< std::numeric_limits<long>::max() << std::endl;std::cout << "std::numeric_limits<unsigned long>::max():        "<< std::numeric_limits<unsigned long>::max() << std::endl;std::cout << "std::numeric_limits<long long>::max():            "<< std::numeric_limits<long long>::max() << std::endl;std::cout << "std::numeric_limits<unsigned long long>::max():   "<< std::numeric_limits<unsigned long long>::max() << std::endl;std::cout << "std::numeric_limits<float>::max():                "<< std::numeric_limits<float>::max() << std::endl;std::cout << "std::numeric_limits<double>::max():               "<< std::numeric_limits<double>::max() << std::endl;std::cout << "std::numeric_limits<long double>::max():          "<< std::numeric_limits<long double>::max() << std::endl;std::cout << "std::numeric_limits<std::string>::max():          "<< std::numeric_limits<std::string>::max() << std::endl;//必须偏特化
//    std::cout << "std::numeric_limits<SName>::max():                "
//              << std::numeric_limits<SName>::max() << std::endl;std::cout << "std::numeric_limits<SPartSpec>::max():            "<< std::numeric_limits<SPartSpec>::max() << std::endl;return 0;
}

输出

http://www.yayakq.cn/news/30915/

相关文章:

  • 三只松鼠网站谁做的北京设计公司推荐
  • 上虞网站建设wordpress 微博登陆
  • 太湖县住房和城乡建设网站市建设局做网站备案的公司
  • 利用别人域名做自己的网站手机上建设网站
  • 做体育网站液压产品做哪个网站好
  • 门户网站是不是新媒体最新版的wordpress怎么添加特征图
  • oa系统网站建设北京名片设计制作
  • php网站后台忘记密码wordpress模板更换
  • vs python 网站开发开发板英文
  • 如何为网站做面包屑导航wordpress信息登记
  • 梅州做网站多少钱建设网站需要哪些流程图
  • 十大免费ppt模板免费下载网站沁水网站建设
  • 荆州建设局网站竞价托管公司联系方式
  • 做潮鞋的网站和平台贵阳网站建设包首页
  • 网站宽屏图片怎么做ui软件
  • 智能网站推广优化珠宝网站谁家做的好
  • php做网站步骤xx单位网站建设方案
  • 唐山网站建设营销网站开发哪家好
  • 阿里云搭建公司网站重庆市公路建设信息网官网
  • 小型项目外包网站手机上怎么创建自己的网站
  • 景区协会官方网站建设政务网站开发协议
  • 教研组网站的建设动漫做a视频网站有哪些
  • 网站建设 企炬szhome家在深圳
  • 系统优化工具seo教程seo入门讲解
  • 各国网站域名wordpress无限登录密码
  • 网站空间是怎么开通的58同城网招聘
  • 长垣县建站塔山双喜国内知名设计工作室
  • 介休做网站龙采网站建设
  • 租房网站wordpress用户注册提醒
  • 模板网站建设服务商vue做网站前台