INT_MIN和INT_MAX

Posted NTSK13

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了INT_MIN和INT_MAX相关的知识,希望对你有一定的参考价值。


 
/************************************************************************************************************
(一)用法:
#include<limits.h>

int min=INT_MIN;
int max=INT_MAX;

比如 要在一个数组中找出最大值,那么可以先定义一个最小值max=INT_MIN,
然后那数组中每一个数去和max 对比.
if(array[i]>max)
    max=array[i];

(二)为什么INT_MIN不是直接写成-2147483648

INT_MIN在标准头文件limits.h中的定义

#define INT_MAX 2147483647

#define INT_MIN (-INT_MAX - 1)这里没有简单地将INT_MIN赋值成-2147483647,是因为-2147483648对于编译器而言是个表达式,而2147483648对于32-bit整数是无法表示的,

所以经过这个表达式的结果是未定义的。在GCC上直接写-2147483648后,编译器给出了警告,说结果是unsigned。

*************************************************************************************************************/


以上是关于INT_MIN和INT_MAX的主要内容,如果未能解决你的问题,请参考以下文章

INT_MAX (2147483647) 和INT_MIN (-2147483648)溢出

否定INT_MIN未定义的行为?

力扣初级算法——整数反转

(字符串) leetcode

leetcode:String to Integer (atoi)

LeetCode29. Divide Two Integers