#include
intmain()
for(
short i =
32767
, a =
0; a <
5; i++
, a++
)for
(char i =
127, a =
0; a <
5; i++
, a++
)for
(char i =
-128
, a =
0; a <
5; i--
, a++
)}
輸出結果:
2147483647
,溢位 0
-2147483648
,溢位 1
-2147483647
,溢位 2
-2147483646
,溢位 3
-2147483645
,溢位 4
32767
,溢位 0
-32768
,溢位 1
-32767
,溢位 2
-32766
,溢位 3
-32765
,溢位 4
127,溢位 0
-128
,溢位 1
-127
,溢位 2
-126
,溢位 3
-125
,溢位 4
-128
,溢位 0
127,溢位-
1126
,溢位-
2125
,溢位-
3124
,溢位-
4
設資料型別的取值範圍:max ≤ i ≤min,n為超過max的溢位部分;
整型資料溢位規律總結:
max+1=min
max+2=min+1
max+3=min+2
…max+n=min+n-1
1.資料型別的取值範圍max和min形成乙個閉環;
max+1=min
2.上限溢位後顯示的資料=min+n-1;
max+n=min+n-1 (此時n為正數)
3.下限溢位後顯示的資料=max+n+1;
max+n=min+n-1 => min+n=max+n+1(此時n為負數)
4.上限溢位的資料=上限溢位後顯示的資料-max;
max+n=min+n-1 => n=(min+n-1)-max;(此時n為正數)
5.下限溢位的資料=下限溢位後顯示的資料-min;
min+n=max+n+1 => n=(max+n+1)-min;(此時n為負數)
C語言的整型資料的溢位
本文介紹c語言中的整型資料的溢位情況。示例 如下 include include include int main 上述 的執行結果如下 sizeof a is 4 sizeof int is 4 integer b 2147483648 binary b 100000000000000000000...
典型的整型溢位行為
假設我們有兩個變數s v short 和us v unsigned short 分別設定為最大的short值,將兩個變數值都加1,看下會出現什麼結果 然後將兩個變數s v short 和us v unsigned short 分別設定為最小的short值,將兩個變數值都減1,看下會出現什麼結果。in...
有符號和無符號整型資料溢位問題
無符號數都有 unsigned 標誌,如果沒有 unsigned 標誌,則程式預設該數為有符號數 signed 無符號數可正可負 有符號數一定為正。由於有符號與無符號數所占用的位元組數相同,因此無符號數所允許的最大值比有符號數的大一倍。如 無符號短整型數的數值範圍是0到65535,而有符號短整型數的...