關於數據類型的取值範圍的理解

以int類型爲例spa

int類型通常爲四個字節,共32位。it

int 用補碼錶示,補碼錶示中負數比正數多一個,最大值爲2147483647 最小的數爲 -2147483648,那麼爲何爲多一個數呢,就是0的表示,只有+0纔是正常的,-0被移作最小的那個int了。cli

符號爲0爲正,1爲負,因此正數的最大值爲01111111111,那麼當這個最大的數加一有神馬狀況呢?就是變成了100000000000,這個數,其實按照取反加一來表示時,這個數應該是標準的-0,可是因爲補碼把這個改爲了最小的負數,因此INT_MAX+1就是INT_MIN,記住正數最大加一後變最小的;二進制

上面說的這個climits這個頭文件中,有INT_MAX和INT_MINim

正數的範圍是0~2147483647,二進制就是0000000000~01111111111111111;img

負數的範圍是-2147483648~-1,二進制就是1000000000~ 11111111111111111;文件

如圖所示:

相關文章
相關標籤/搜索