0026 整型資料的溢位規律

2021-10-19 17:46:28 字數 1485 閱讀 1785

#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,而有符號短整型數的...