假設我們有兩個變數s_v(short)和us_v(unsigned short)分別設定為最大的short值,將兩個變數值都加1,看下會出現什麼結果; 然後將兩個變數s_v(short)和us_v(unsigned short)分別設定為最小的short值,將兩個變數值都減1,看下會出現什麼結果。
#include "iostream";
#define zero 0;
int main()
輸出結果:
將變數值 s_v和us_v 設定成最大的short值
s_v = 32767
us_v = 32767
將變數值 s_v和us_v 都加1 結果
s_v = -32768
us_v = 32768
-----------------------------------------32768
將變數值 s_v和us_v 設定成最小的short值
s_v = 0
us_v = 0
將變數值 s_v和us_v 都減1 結果
s_v = -1
us_v = 65535
示意圖
以上可以看出,這些整型符號的行為就像乙個圓,如果超越了限制,其值將為範圍另一端的值。
0026 整型資料的溢位規律
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 溢位...
C語言的整型資料的溢位
本文介紹c語言中的整型資料的溢位情況。示例 如下 include include include int main 上述 的執行結果如下 sizeof a is 4 sizeof int is 4 integer b 2147483648 binary b 100000000000000000000...
利用口訣記避免整型溢位
口訣 296兩巨集兩頭 這裡我解釋一下這個口訣,29 表示整型數的上限大約為2 109 6 表示浮點數的有效位為6位 兩巨集 分別表示 max型別巨集和flt epsilon巨集 其中,表中flt max和flt min分別代表float所能儲存的最大範圍和最小範圍。flt dig代表的是float...