欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ 中的INT_MAX,INT_MIN數(shù)值大小操作

 更新時間:2021年03月06日 11:56:08   作者:MR_jie1  
這篇文章主要介紹了C++ 中的INT_MAX,INT_MIN數(shù)值大小操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

int占4字節(jié)32位,根據(jù)二進(jìn)制編碼的規(guī)則,

INT_MAX = 2^31-1=2147483647

INT_MIN= -2^31=-2147483648

C/C++中,所有超過該限值的數(shù),都會出現(xiàn)溢出,出現(xiàn)warning,但是并不會出現(xiàn)error。

如果想表示的整數(shù)超過了該限值,可以使用長整型long long 占8字節(jié)64位。

補(bǔ)充:C++ 數(shù)值最大最小標(biāo)識符一網(wǎng)打盡,INT_MIN/ INT_MAX/LONG_MIN/LONG_MAX 等等

我就廢話不多說了,大家還是直接看代碼吧~

Constant Meaning Value
CHAR_BIT Number of bits in the smallest variable that is not a bit field. 8
SCHAR_MIN Minimum value for a variable of type signed char. -128
SCHAR_MAX Maximum value for a variable of type signed char. 127
UCHAR_MAX Maximum value for a variable of type unsigned char. 255 (0xff)
CHAR_MIN Minimum value for a variable of type char. -128; 0 if /J option used
CHAR_MAX Maximum value for a variable of type char. 127; 255 if /J option used
MB_LEN_MAX Maximum number of bytes in a multicharacter constant. 5
SHRT_MIN Minimum value for a variable of type short. -32768
SHRT_MAX Maximum value for a variable of type short. 32767
USHRT_MAX Maximum value for a variable of type unsigned short. 65535 (0xffff)
INT_MIN Minimum value for a variable of type int. -2147483647 - 1
INT_MAX Maximum value for a variable of type int. 2147483647
UINT_MAX Maximum value for a variable of type unsigned int. 4294967295 (0xffffffff)
LONG_MIN Minimum value for a variable of type long. -2147483647 - 1
LONG_MAX Maximum value for a variable of type long. 2147483647
ULONG_MAX Maximum value for a variable of type unsigned long. 4294967295 (0xffffffff)
LLONG_MIN Minimum value for a variable of type long long. -9,223,372,036,854,775,807 - 1
LLONG_MAX Maximum value for a variable of type long long. 9,223,372,036,854,775,807
ULLONG_MAX Maximum value for a variable of type unsigned long long. 18,446,744,073,709,551,615 (0xffffffffffffffff)

補(bǔ)充:c++中short的最小值SHRT_MIN減1不是SHRT_MAX的原因

最近在看一本一直都想看的書,c++ primer plus,本來想看的是c++ primer,結(jié)果買錯了,反正都差不多。

在學(xué)習(xí)short,int,long的時候,看到書中這樣寫到:整型變量的行為就像里程表。如果超越了限制,其值將為范圍另一端的取值。這句話我是這樣理解的,假如我們設(shè)置了一個int型的整數(shù),例如 int n_int = INT_MAX; 那么,我們做 n_int+1時輸出應(yīng)為 INT_MIN。結(jié)果的確是這樣。但是short的有點(diǎn)特別,雖然不常見。

下面看一段程序:

int c_char = CHAR_BIT;
int n_int = INT_MIN;
short n_short = SHRT_MIN;
long n_long = LONG_MAX;
long long n_llong = LLONG_MAX;
cout<< sizeof n_int<<" "<<sizeof n_short<<" "<<sizeof(n_short - 1)<<" "<<sizeof(n_long)<<" "<<sizeof(n_llong)<<endl;
cout<<n_int - 1<<" "<< n_short - 1 <<" "<<n_long<<" "<<n_llong<<" "<<c_char<<endl;
//n_short是short類型的最小值,理論上減1應(yīng)為SHRT_MAX的值,但結(jié)果不是

下面是程序結(jié)果:

解釋:

程序中定義了n_int為int型的最小值,我們輸出n_int-1時發(fā)現(xiàn)結(jié)果是int的最大值INT_MAX。結(jié)果第二行第一個數(shù)。但是在程序的第四行我們定義了一個n_short,賦值SHRT_MIN,然后輸出n_short - 1,理論上說結(jié)果應(yīng)該為32767,也就是SHRT_MAX。但是結(jié)果不一樣,那么結(jié)果為什么會這樣呢?

我們可以看輸出中的第一行,此行輸出的是各個數(shù)值在計算機(jī)中占的字節(jié)數(shù)。在輸出sizeof(n_short - 1)時,結(jié)果是4,也就是數(shù)n_short - 1現(xiàn)在是一個整型數(shù)。在c++中規(guī)定short是兩個字節(jié),也就是16位。但是在計算機(jī)中,short存儲占4個字節(jié),因此,在short超出范圍的時候會自動轉(zhuǎn)換成整型的數(shù)。

這里額外在說一點(diǎn),c++中基本整型有5種:char、short、int、long、long long(c++11中)。這里注意,char是基本整型。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • C語言中二維數(shù)組作為函數(shù)參數(shù)來傳遞的三種方法

    C語言中二維數(shù)組作為函數(shù)參數(shù)來傳遞的三種方法

    這篇文章主要給大家介紹了關(guān)于C語言中二維數(shù)組作為函數(shù)參數(shù)來傳遞的三種方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C語言有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • C語言實現(xiàn)求定積分的方法

    C語言實現(xiàn)求定積分的方法

    這篇文章主要介紹了C語言實現(xiàn)求定積分的方法,涉及C語言操作相關(guān)數(shù)學(xué)函數(shù)的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • C語言變量類型與輸出控制用法實例教程

    C語言變量類型與輸出控制用法實例教程

    這篇文章主要介紹了C語言變量類型與輸出控制用法,是C語言程序設(shè)計中比較基礎(chǔ)也是比較重要的用法,需要的朋友可以參考下
    2014-08-08
  • C++中重載、重寫(覆蓋)和隱藏的區(qū)別實例分析

    C++中重載、重寫(覆蓋)和隱藏的區(qū)別實例分析

    這篇文章主要介紹了C++中重載、重寫(覆蓋)和隱藏的區(qū)別,是C++面向?qū)ο蟪绦蛟O(shè)計非常重要的概念,需要的朋友可以參考下
    2014-08-08
  • C語言全排列回溯算法介紹

    C語言全排列回溯算法介紹

    大家好,本篇文章主要講的是C語言全排列回溯算法介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • C語言實現(xiàn)簡單員工工資管理系統(tǒng)

    C語言實現(xiàn)簡單員工工資管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)簡單員工工資管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 融會貫通C++智能指針教程

    融會貫通C++智能指針教程

    本文主要介紹了c++的基礎(chǔ)知識,通過不帶引用計數(shù)的只能指針和帶引用的智能指針,shared_ptr和weak_ptr,多線程訪問共享對象的線程安全問題以及自定義刪除器作了詳細(xì)的分析解答
    2021-08-08
  • C++?用紅黑樹模擬實現(xiàn)set、map的示例代碼

    C++?用紅黑樹模擬實現(xiàn)set、map的示例代碼

    set、map的底層結(jié)構(gòu)是紅黑樹,它們的函數(shù)通過調(diào)用紅黑樹的接口來實現(xiàn),本文主要介紹了C++?用紅黑樹模擬實現(xiàn)set、map,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • VC++實現(xiàn)模擬漢諾塔效果

    VC++實現(xiàn)模擬漢諾塔效果

    本文給大家分享的是一則使用vc++實現(xiàn)模擬漢諾塔效果的代碼,代碼實現(xiàn)起來很簡單,主要是漢諾塔算法的思路要正確,正在練習(xí)漢諾塔的小伙伴也可以來看看,希望大家能夠喜歡。
    2015-03-03
  • C++入門之list的使用詳解

    C++入門之list的使用詳解

    這篇文章主要為大家介紹了C++入門之list的使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11

最新評論