整型數的溢出
來源:程序員人生 發布時間:2015-06-06 08:52:21 閱讀次數:3242次
#include <stdio.h>
#include <limits.h>
int main()
{
printf("INT_MAX+1=%d
",INT_MAX+1);
printf("INT_MAX+INT_MAX=%d
",INT_MAX+INT_MAX);
printf("INT_MIN=%d
",INT_MIN);
printf("INT_MIN⑴=%d
",INT_MIN⑴);
printf("INT_MIN+INT_MIN=%d
",INT_MIN+INT_MIN);
return 0;
}
運行結果:
INT_MAX+1=⑵147483648
INT_MAX+INT_MAX=⑵
INT_MIN=⑵147483648
INT_MIN⑴=2147483647
INT_MIN+INT_MIN=0
請按任意鍵繼續. . .
下面大致說1下產生的結果:
我們以4位2進制為例,4位2進制能表示的最大正整數是:7,能表示的數字

在上面圖中,如果3+1,就表示從3開始順時針走1格,7+1順時針走1格后變成了⑻,7+7順時針走7格變成了⑵,這就是整型數產生了溢出。
所謂溢出,就是由于4位2進制,用補碼能表示的最大正整數是7.這樣就不難理解上面問題的答案.
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈