C/C++如何得到int型最大值


 

在C/C++中,如何得到int型能表示的最大值,最小值?

第一種方法:

在limits.h/climits中,定義了INT_MAX,INT_MIN,可以直接使用

第二種方法:
如果要通過程序得到,比較簡單的一種方法是靠操作內存中的二進制位了,具體需要了解數值在內存中的表示,牽涉到數據的原碼、反碼、補碼。

可以  #define MAX_INT (((unsigned int)(-1))>>1) 

        #define MIN_INT MAX_INT+1 //在使用的時候需要將其賦給一個有符號整形變量才行,然后使用那個變量,直接作為一個值使用是不對的, 

原理的話知道了內存中數據的表示自然就很容易理解了。

第三種方法:

可以定義一個無符號整數數 

unsigned int zero = 0;
int max_int = ~zero/2;

在內存中0XFFFFFFFF表示為有符號數為-1

               0X10000000表示為有符號數為INT_MIN

 

轉載:C/C++如何得到int型最大值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM