
C++的 INT_MAX 和 INT_MIN
·
1. INT_MAX 和 INT_MIN 是什么
INT_MAX
和 INT_MIN
是 C++ 的两个预定义宏,代表了整型变量能够存储的最大正整数和最小负整数,分别为 2147483647 和 -2147483648。这两个宏在头文件 <climits>
中定义。INT_MAX
表示一个 32 位符号整数所能够表示的最大值,也就是 231 − 1,而 INT_MIN
则表示最小的负整数。这个值是相对于二进制补码表示法的,也就是说,负数的范围比正数大 1。
代码示例:
#include <iostream>
#include <climits>
using namespace std;
int main() {
int max_int = INT_MAX;
int min_int = INT_MIN;
cout << "The maximum value that can be stored in an int variable is: " << max_int << endl;
// 2147483647
cout << "The minimum value that can be stored in an int variable is: " << min_int << endl;
// -2147483648
return 0;
}
【注意】:这些宏仅适用于 32 位整型变量,如果使用 64 位整型变量,需要使用其他预定义宏,如 LONG_LONG_MAX
和 LONG_LONG_MIN
,代表能够存储的最大/最小长整数。
2. INT_MAX(INT_MIN)的用途
INT_MAX
是个很大的数,如果想得到数组中最小值,可以先将 min1
(下方代码中的一个变量)设成 INX_MAX
,这样就不需要 const int
定义一个很大的数了:
int min1 = INT_MAX;
for(int i = 0; i < n; i++)
{
if(arr[i] < min1)
{
min1 = arr[i];
}
}
3. C语言中的 int 范围
C语言中 int
类型是 32 位的,范围是 -2147483648 到 2147483647 。
- 最轻微的上溢是
INT_MAX + 1
,结果是INT_MIN
。 - 最严重的上溢是
INT_MAX + INT_MAX
,结果是 -2。 - 最轻微的下溢是
INT_MIN - 1
,结果是是INT_MAX
。 - 最严重的下溢是
INT_MIN + INT_MIN
,结果是 0 。
推荐内容
更多推荐
相关推荐
查看更多
llama_index

LlamaIndex(前身为GPT Index)是一个用于LLM应用程序的数据框架
halo

强大易用的开源建站工具。
freeCodeCamp

freeCodeCamp.org的开源代码库和课程。免费学习编程。
热门开源项目
活动日历
查看更多
直播时间 2025-04-25 15:00:00


直播时间 2025-04-23 19:00:00

GitTalk:国内首个微服务编排框架Juggle实战解析
直播时间 2025-04-22 18:31:56

字节AI 黑科技!从 Manus Agent 入门 Eino
直播时间 2025-04-09 14:34:18

樱花限定季|G-Star校园行&华中师范大学专场
直播时间 2025-04-07 14:51:20

樱花限定季|G-Star校园行&华中农业大学专场
所有评论(0)