亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在C++中設置INT_MAX和INT_MIN數值的大小

發布時間:2021-03-08 11:22:53 來源:億速云 閱讀:546 作者:Leah 欄目:開發技術

本篇文章為大家展示了怎么在C++中設置INT_MAX和INT_MIN數值的大小,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

int占4字節32位,根據二進制編碼的規則,

INT_MAX = 2^31-1=2147483647

INT_MIN= -2^31=-2147483648

C/C++中,所有超過該限值的數,都會出現溢出,出現warning,但是并不會出現error。

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

補充:C++ 數值最大最小標識符一網打盡,INT_MIN/ INT_MAX/LONG_MIN/LONG_MAX 等等

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

ConstantMeaningValue
CHAR_BITNumber of bits in the smallest variable that is not a bit field.8
SCHAR_MINMinimum value for a variable of type signed char.-128
SCHAR_MAXMaximum value for a variable of type signed char.127
UCHAR_MAXMaximum value for a variable of type unsigned char.255 (0xff)
CHAR_MINMinimum value for a variable of type char.-128; 0 if /J option used
CHAR_MAXMaximum value for a variable of type char.127; 255 if /J option used
MB_LEN_MAXMaximum number of bytes in a multicharacter constant.5
SHRT_MINMinimum value for a variable of type short.-32768
SHRT_MAXMaximum value for a variable of type short.32767
USHRT_MAXMaximum value for a variable of type unsigned short.65535 (0xffff)
INT_MINMinimum value for a variable of type int.-2147483647 - 1
INT_MAXMaximum value for a variable of type int.2147483647
UINT_MAXMaximum value for a variable of type unsigned int.4294967295 (0xffffffff)
LONG_MINMinimum value for a variable of type long.-2147483647 - 1
LONG_MAXMaximum value for a variable of type long.2147483647
ULONG_MAXMaximum value for a variable of type unsigned long.4294967295 (0xffffffff)
LLONG_MINMinimum value for a variable of type long long.-9,223,372,036,854,775,807 - 1
LLONG_MAXMaximum value for a variable of type long long.9,223,372,036,854,775,807
ULLONG_MAXMaximum value for a variable of type unsigned long long.18,446,744,073,709,551,615 (0xffffffffffffffff)

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

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

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

下面看一段程序:

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應為SHRT_MAX的值,但結果不是

下面是程序結果:

怎么在C++中設置INT_MAX和INT_MIN數值的大小

解釋:

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

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

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

上述內容就是怎么在C++中設置INT_MAX和INT_MIN數值的大小,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丹寨县| 抚顺县| 甘南县| 神农架林区| 肥城市| 自治县| 邹平县| 大悟县| 武冈市| 凯里市| 新河县| 偃师市| 湘潭市| 静乐县| 临泉县| 施秉县| 淮南市| 兴仁县| 观塘区| 诏安县| 修文县| 迁安市| 浪卡子县| 论坛| 中山市| 马山县| 永安市| 东安县| 井冈山市| 津市市| 东平县| 松江区| 瑞昌市| 乌拉特前旗| 海城市| 元朗区| 荆门市| 故城县| 崇文区| 呼玛县| 积石山|