📌  相关文章
📜  std :: numeric_limits之间的区别<T>C ++中的最小,最大和最低(1)

📅  最后修改于: 2023-12-03 15:35:09.301000             🧑  作者: Mango

numeric_limits之间的区别

在C++中,头文件<limits>中提供了一个模板类numeric_limits,该模板类提供了一些与算术类型有关的特征信息。

具体而言,numeric_limits提供了以下信息:

  • 最小值(最小正常值和最小负值)
  • 最大值
  • 无穷大值
  • NaN(非数字)值
  • 有效数字位数
  • 以及一些其他属性

使用numeric_limits可以使代码更加具有可移植性和可读性。

最小值,最大值和最低值的区别

numeric_limits中,最小值表示类型的最小正常值,最大值则表示类型的最大值。而“最低值”(lowest)则表示类型的最小负值。

下面是一个使用numeric_limits输出int类型三种值的示例代码:

#include <iostream>
#include <limits>

int main()
{
    std::cout << "int最小值:" << std::numeric_limits<int>::min() << std::endl;
    std::cout << "int最大值:" << std::numeric_limits<int>::max() << std::endl;
    std::cout << "int最低值:" << std::numeric_limits<int>::lowest() << std::endl;

    return 0;
}

输出结果如下:

int最小值:-2147483648
int最大值:2147483647
int最低值:-2147483648

注意,对于无符号类型,最小值和最低值是相等的,因为它们都为0。而对于浮点类型,最小值和最低值则相等于负的最大值,因为浮点类型可以表示负数。

完整代码
#include <iostream>
#include <limits>

int main()
{
    std::cout << "int最小值:" << std::numeric_limits<int>::min() << std::endl;
    std::cout << "int最大值:" << std::numeric_limits<int>::max() << std::endl;
    std::cout << "int最低值:" << std::numeric_limits<int>::lowest() << std::endl;

    return 0;
}